我正在测试一个事件中心。开发人员正在将消息推送到Event Hub。我已经构建了一个Event Hub Listener来检查正在发送/接收的所有消息。这是我使用的设计:
https://docs.microsoft.com/en-us/azure/event-hubs/event-hubs-dotnet-framework-getstarted-receive-eph
我遇到的问题是事件中心有大约400万个事件,ProcessEventsAsync方法似乎被调用了4到5次,然后停止被调用。
有没有办法可以请求只获取最近X分钟内添加的消息?
答案 0 :(得分:1)
您可以直接读取所有事件,而不是使用EventProcessorHost
。这意味着您可以直接调用Receive
方法来读取一批事件。
有关代码示例,请参阅Direct consumer和Service Bus Event Hubs Direct Receivers。
无法按时间过滤事件(最后X秒),偏移是唯一可寻址的空间。