2015-11-19 52 views
2

我使用这个RedDog工具生成了SAS签名,并使用Events Hub API refs成功向Event Hub发送了一条消息。我知道这是成功的,因为我从端点获得了201创建响应。Azure Event Hub消息存储在哪里?

这个微小的成功带来了,我一直没能找到一个问题的答案:

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

问题是,有什么API可以用来保存数据吗?我不想使用C#工具。

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

回答

1

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

您会发现自动持久保留消息的方式最接近(与Amazon Kinesis Firehose与Amazon Kinesis的EventHubs基本相同),将使用Azure Streaming Analytics配置为将输出写入Azure Blob或Azure Table 。 This example显示了如何设置将数据传递并存储到SQL中的Streaming Analytics作业,但您可以在其中选择用户可以选择的选项,如Azure Table。或者您可以从the output API了解选项。

Choose storage output

当然,你应该知道的周围系列化的要求,导致this question

+0

好的,谢谢。这真的很有帮助!我按照示例中的说明进行操作,使其适合我的用例。最后一个问题是,EventProcessorHost与我刚刚做的事情有什么不同 - 发送事件,坚持它们,从数据库读取持久化值到我的应用程序中? src代码不可用,所以我不能做很多挖掘。 –

+1

EventProcessorHost是一个工具,可以消除跨越不同盒子处理多个分区的难题。 “消费”的含义因用例而异。我们有一个将事件保存到AzureTable的消费者,以及计算各种指标并采取各种其他操作的消费者(具有相同数据)。基本上它允许其他C#代码访问消息并执行任何操作。 – cacsar