Azure Event Hub消息存储在哪里?

问题描述 投票:5回答:2

我使用这个生成了一个SAS签名 红狗 工具,并成功地将消息发送到Event Hub。事件枢纽API参考文献. 我知道这是成功的,因为我从终端得到了一个201创建的响应。

这个小小的成功带来了一个我一直找不到答案的问题。

我去了 azure 门户网站,但在任何地方都看不到我创建的消息。进一步阅读后发现,我需要创建一个存储账户;我偶然发现了一些C#例子(EventProcessorHost),它需要存储账户的creds等。

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

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

azure azure-storage azure-eventhub
2个回答
3
投票

你不能直接访问用于EventHub消息的瞬时存储,但你可以编写一个消费者,连续从EventHub读取消息,并将消息持久化到Azure表或Azure Blob。

你会发现最接近于自动持久化消息的方法(就像使用 亚马逊 Kinesis Firehose vs Amazon Kinesis,EventHubs基本等同于此),将使用 Azure 流分析 配置为将输出写入 Azure Blob 或 Azure 表。此示例 展示了如何设置一个流分析作业,将数据通过并存储在SQL中,但你可以看到UI,你可以选择一个选择,如Azure表。或者你可以从以下方面了解选项 输出API.

Choose storage output

当然,你应该知道围绕序列化的要求,这导致了 这个问题


1
投票

Event Hub 最多可存储 7 天的数据;这也是标准定价层的数据。如果您想将数据在存储账户中持续更长时间,您可以使用 Event Hub Capture 功能。你不需要写一行代码就可以实现这个功能。您可以通过Portal或ARM模板进行配置。本文档中对此进行了描述 - https:/docs.microsoft.comen-usazureevent-hubsevent-hubs-capture-overview。

事件中心将它的瞬时数据存储在Azure存储中。它没有给出与数据存储有关的更多细节。这一点从这个文档中可以看出------。https:/docs.microsoft.comen-usazureevent-hubsconfigure-customer-managed-key。

你所需要的EventProcessorHost的存储账户只用于检查点或维护分区中最后一次读取事件的偏移。

© www.soinside.com 2019 - 2024. All rights reserved.