【Azure 事件中心】Event Hubs如何获取其中存放的历史消息

问题描述

使用Azure Event Hub服务,除了正常的生产,消费消息以外,如果想拿到Event Hub中存储的历史消息?有什么方法呢?

 

问题解答

获取 Event Hubs 存储的历史消息,首先需要确保消息进入Event Hub的时间处于保留期限(Retention Days)内,因为超过这个期限消息会被删除。

如果确认在期限内,在代码中可以指定时间或者对应的offset获取对应的消息。以Java为例可以参考以下sample:

如果需要从最早的消息,可以直接使用 EventPosition.Earliest(),也可以使用fromEnqueuedTime,参照:https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/eventhubs/azure-messaging-eventhubs/src/main/java/com/azure/messaging/eventhubs/models/EventPosition.java

当然,使用Service Bus Explorer工具也能获取到Event Hub中的数据,下载地址:https://github.com/paolosalvatori/ServiceBusExplorer

当创建Listener 之后,可以指定start time

 

参考资料

Event Hub事件保留:https://docs.azure.cn/zh-cn/event-hubs/event-hubs-features#event-retention

 

 
posted @   路边两盏灯  阅读(35)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
历史上的今天:
2022-06-08 【Azure 应用服务】NodeJS Express + MSAL 应用实现AAD登录并获取AccessToken -- cca.acquireTokenByCode(tokenRequest)
2021-06-08 【Azure Developer】使用 Python SDK连接Azure Storage Account, 计算Blob大小代码示例
点击右上角即可分享
微信分享提示