繁体   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