[英]How to log messages to Azure Event Hub from Azure API Management Service
[英]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.