事件中心侦听器 - 一次性获取所有消息

Event Hub Listener - get all messages in one go

我正在测试事件中心。开发人员正在将消息推送到事件中心。我构建了一个事件中心侦听器来检查所有消息是否正确 sent/received。这是我使用的设计:

https://docs.microsoft.com/en-us/azure/event-hubs/event-hubs-dotnet-framework-getstarted-receive-eph

我遇到的问题是事件中心上大约有 400 万个事件,ProcessEventsAsync 方法似乎被调用了 4 或 5 次,然后停止调用。

有没有一种方法可以只请求获取最近 X 分钟内添加的消息?

您可以直接通读所有事件,而不是使用 EventProcessorHost。这意味着您将直接调用 Receive 方法来读取一批事件。

有关代码示例,请参阅 Direct consumer and Service Bus Event Hubs Direct Receivers

无法按时间(最后 X 秒)过滤事件,偏移量是唯一可寻址的 space。