Есть ли способ найти конкретное событие в Azure eventhub

#c# #.net #azure #azure-eventhub

Вопрос:

Я использую c#, и я хотел бы знать, есть ли способ прочитать конкретное сообщение, которое находится внутри eventhub. Не читайте их все, а затем выполняйте поиск, но используйте смещение или что-то подобное и сделайте что-то вроде запроса, чтобы получить это событие

Ответ №1:

Концентраторы событий-это поток, который можно читать только в прямом направлении; у вас нет возможности выполнить SQL-подобный запрос к нему и найти конкретные данные на основе произвольных критериев. Тем не менее, с небольшим знанием контекста, есть несколько вариантов, которые помогут вам приблизиться.

Если вы знаете раздел, в котором было опубликовано ваше событие, и смещение или порядковый номер, присвоенный событию при его публикации, вы можете использовать это, чтобы указать это событие в качестве отправной точки для вашего потребителя. Этот пример иллюстрирует детали.

Если вы знаете раздел и приблизительное время публикации события, вы можете использовать тот же подход, чтобы начать чтение с определенного момента времени и сканировать вперед, пока не найдете событие, которое вас интересует. Этот пример иллюстрирует детали.

Если вы не знаете раздел или у вас нет какого-либо контекста относительно того, как было опубликовано событие, вашим единственным вариантом будет чтение с начала каждого раздела и сканирование вперед для поиска события.