Справочная информация. У меня есть внутреннее приложение, использующее телеметрические сообщения из маршрута «встроенные сообщения / события» на IoTHub. Телеметрия используется путем создания потребителя с помощью EventHubClient с использованием python SDK. Устройства предоставляются iothub программно и получают сертификаты x509 для аутентификации, даты создания / истечения срока действия действительны для сертификатов клиента и CA. В прошлом у меня было несколько устройств, отправляющих в IoThub одновременно и используемых бэкэнд-приложением. Через некоторое время мы настроили потоковую аналитику azure для прослушивания того же бэкэнда / маршрута, что и у существующего бэкэнд-приложения. Перемотка на пару месяцев, теперь мы можем получить только один идентификатор устройства для успешного использования клиентом-слушателем в исходном бэкэнд-приложении.
Симптом - у меня есть 2 устройства, устройство A и устройство B. Устройство устройства A Идентификатор - Боб, а CN на x509 - Боб. Идентификатор устройства устройства B - Sally, а CN в сертификате - Sally. Они оба были предоставлены через службу обеспечения устройств и подписаны одним и тем же центром сертификации, который загружен и проверен как в DPS, так и в iothub. Вся телеметрия, использующая учетные данные для Боба, используется как потоковой аналитикой, так и исходным внутренним приложением. Вся телеметрия, отправленная с использованием учетных данных для Салли, используется только потоковой аналитикой. Мы можем изменить идентификатор устройства и использовать учетные данные Bob на устройстве A или устройстве B, и сообщения потребляются обоими бэкэндами, и если мы используем идентификатор / учетные данные устройства Sally, они всегда обрабатываются только потоковой аналитикой. И потоковая аналитика, и исходное бэкэнд-приложение настроены на группу потребителей $ Default. Я полагаю, что раздел не имеет значения, если я не использую концентратор событий, но потоковая аналитика не имеет поля для идентификатора раздела, а потребитель внутреннего приложения использует раздел 0. Все сообщения доставляются во встроенную конечную точку событий / сообщений. и никакие сообщения не доставляются другим конечным точкам.
Вопрос: почему мое бэкэнд-приложение потребляет только сообщения с идентификатором устройства / учетными данными для Боба?
Я пытался предоставить всю необходимую информацию, но если что-то пропустил, просто дайте мне знать и я могу предоставить более подробную информацию.
правки: я уже пытался полностью отключить потоковую аналитику (и на всякий случай перезапустить бэкэнд-приложение), поэтому только бэкэнд-приложение потребляет сообщения от конечной точки, что не Помогите. Но поскольку после первого ответа я создал новую группу потребителей на конечной точке для потоковой аналитики и изменил группу потребителей для входных данных потоковой аналитики для этой новой группы потребителей. Никаких изменений в «симптомах».