Слушатель Event Hub - получайте все сообщения за один раз

Я тестирую концентратор событий. Разработчики отправляют сообщения в концентратор событий. Я создал прослушиватель концентратора событий, чтобы проверять, правильно ли отправляются / принимаются все сообщения. Я использовал вот такой дизайн:

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

У меня проблема в том, что в концентраторе событий около 4 миллионов событий, и кажется, что метод ProcessEventsAsync вызывается 4 или 5 раз, а затем перестает вызываться.

Есть ли способ просто запросить получение только сообщений, добавленных за последние X минут?


person Charlie Seligman    schedule 06.06.2018    source источник


Ответы (1)


Вместо использования EventProcessorHost вы можете напрямую читать все события. Это означает, что вы должны вызвать _ 2_ непосредственно для чтения пакета событий.

См. Прямой потребитель и Прямые приемники концентраторов событий служебной шины для примеров кода.

Невозможно отфильтровать события по времени (последние X секунд), смещения - единственное адресное пространство.

person Mikhail Shilkov    schedule 06.06.2018
comment
Спасибо Михаил. Я пробовал использовать InitialOffsetProvider (stackoverflow.com/questions/33881020/), но это не сработает. Это потому, что, как вы говорите, нет возможности фильтровать события по времени? - person Charlie Seligman; 06.06.2018