Я разрабатываю веб-приложение Azure IoT, которое использует события из Azure Event Hub. Я регулярно публикую sh веб-приложение в Azure в тестовой среде, а затем я также запускаю его в режиме отладки со своего собственного компьютера, и когда это происходит, по сути, одновременно работают два веб-приложения, которые являются потребителями. Концентратора событий.
Мне интересно, может ли один потребитель "проглотить" уведомление, чтобы другой потребитель не получил его. Это было бы плохо, и мне пришлось бы настроить отдельный концентратор событий только для моей отладочной локальной машины.
Получат ли оба потребителя концентратора событий все уведомления?
У меня нет настроить концентратор событий или потребительский код каким-либо особым образом. В потребительском коде используется Azure.Messaging.EventHubs.EventProcessorClient
, а его ProcessEventAsync()
выглядит так:
async Task ProcessEventHandler(ProcessEventArgs eventArgs)
{
string deviceId = eventArgs.Data.Properties["deviceId"].ToString();
string message = Encoding.UTF8.GetString(eventArgs.Data.Body.Span);
await ProxyMessageToController(deviceId, message);
await eventArgs.UpdateCheckpointAsync(eventArgs.CancellationToken);
}