簡體   English   中英

記錄Azure Event Hub中所有消息的最簡單方法

[英]Simplest way to log all messages from an Azure Event Hub

我正在使用一個輸出到事件中心的服務。

我們希望存儲該輸出,每天由Apache Spark上運行的批處理作業讀取一次。 基本上我們認為,只需將所有消息轉儲到blob即可。

從事件中心捕獲消息到Blob存儲的最簡單方法是什么?

我們的第一個想法是Streaming Analytics工作,但它需要解析原始消息(CSV / JSON / Avro),我們當前的格式都不是。


更新我們通過更改消息格式解決了這個問題。 我還是想知道是否有任何影響blob存儲消息的低影響方式。 在Streaming Analytics到達之前,EventHub是否有解決方案?

您可以編寫自己的工作進程來讀取EventHub上的消息並將它們存儲到blob存儲中。 您不需要實時執行此操作,因為EH上的消息將保留設置的保留天數。 讀取EH的客戶端負責通過跟蹤EH消息partitionid和offset來管理已處理的消息。 有一個C#庫使這非常容易,並且可以很好地擴展: https//azure.microsoft.com/en-us/documentation/articles/event-hubs-csharp-ephcs-getstarted/

您可以使用event-hubs-capture捕獲到blob。

Azure現在具有此內置: Event Hubs Archive (預覽版)

您還可以通過從事件中心觸發器觸發的Azure功能(無服務器代碼)執行此操作。

根據您的要求,如果您需要一種它沒有的功能,例如保存為GZIP,或者寫入更自定義的blob虛擬目錄結構,這可以比事件捕獲功能更好地工作。

https://docs.microsoft.com/en-us/azure/azure-functions/functions-bindings-event-hubs#trigger-usage

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM