Azure Event Hub消息存储在何处?

时间:2015-11-19 21:43:37

标签: azure azure-storage azure-eventhub

我使用此RedDog工具生成了SAS签名,并使用Events Hub API refs成功向Event Hub发送了一条消息。我知道它是成功的,因为我从端点获得了201 Created响应。

这一小小的成功带来了一个我无法找到答案的问题:

我去了天蓝色的门户网站,无法看到我在任何地方创建的消息。进一步阅读显示我需要创建一个存储帐户;我偶然发现了一些需要存储帐户信用等的C#示例(EventProcessorHost)

问题是,我是否可以使用任何API来保存数据?我不想使用C#工具。

如果我的方法有误,请纠正我,但我的目标是能够将遥测发布到EventHub,保留数据并对其执行一些分析操作。遥测数据应该可以在Azure上查看。

2 个答案:

答案 0 :(得分:3)

您无法直接访问用于EventHub消息的临时存储,但您可以编写一个持续从EventHub读取的消费者,并将消息持久保存到Azure Table或Azure Blob。

最接近自动保留消息的方法(如Amazon Kinesis Firehose与Amazon Kinesis一样,EventHubs基本等同于),将使用配置为Azure Streaming Analytics来编写输出到Azure Blob或Azure表。 This example显示了如何设置传递数据并将其存储在SQL中的Streaming Analytics作业,但您可以在UI中看到可以选择Azure Table等选项的UI。或者您可以从the output API了解选项。

Choose storage output

当然,您应该了解导致this question

的序列化要求

答案 1 :(得分:1)

事件中心最多可存储7天的数据;在标准定价层中也是如此。如果要将数据保留在存储帐户中的时间更长,可以使用“事件中心捕获”功能。您无需编写任何代码即可实现这一目标。您可以通过Portal或ARM模板对其进行配置。本文档中对此进行了描述-https://docs.microsoft.com/en-us/azure/event-hubs/event-hubs-capture-overview

事件中心将其临时数据存储在Azure存储中。它没有提供有关数据存储的更多详细信息。这从本文档中很明显-https://docs.microsoft.com/en-us/azure/event-hubs/configure-customer-managed-key

EventProcessorHost所需的存储帐户仅用于检查点或维护分区中最后一个读取事件的偏移量。