我正在使用输出到事件中心的服务。
我们希望存储该输出,以便由 Apache Spark 上运行的批处理作业每天读取一次。基本上我们认为,只需将所有消息转储到 blob 即可。
将消息从事件中心捕获到 Blob 存储的最简单方法是什么?
我们的第一个想法是流分析作业,但它需要解析原始消息(CSV/JSON/Avro),我们当前的格式不是这些。
<小时/>更新我们通过更改消息格式解决了这个问题。我仍然想知道是否有任何影响较小的方法将消息存储到 blob。在 Streaming Analytics 出现之前,EventHub 是否有解决方案?
最佳答案
您可以编写自己的工作进程来从 EventHub 读取消息并将其存储到 Blob 存储中。您不需要实时执行此操作,因为 EH 上的消息会保留设置的保留天数。读取 EH 的客户端负责通过跟踪 EH 消息分区 ID 和偏移量来管理已处理的消息。有一个 C# 库可以使这变得非常简单并且扩展性非常好:https://azure.microsoft.com/en-us/documentation/articles/event-hubs-csharp-ephcs-getstarted/
关于azure - 记录来自 Azure 事件中心的所有消息的最简单方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32062927/