Каково поведение IoT Hub, когда устройство отправляет телеметрическое сообщение без регистрации в IoT Hub? - PullRequest
0 голосов
/ 08 апреля 2020

Кажется, я нигде не могу получить эту информацию. Я хотел бы знать, что произойдет с сообщением телеметрии, если устройство, которое отправляет это сообщение, не зарегистрировано в IoT Hub.

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

Таким образом, я хотел бы знать, как работает IoT Hub, если сообщение было отправлено без устройства, зарегистрированного в IoT Hub.

Спасибо.

Ответы [ 2 ]

2 голосов
/ 08 апреля 2020

В дополнение к ответу Matthi js van der Veer , в случае прямого протокола, ориентированного на установление соединения, такого как MQTT, когда зарегистрированное устройство было подключено и данные телеметрии отправляются под topi c с незарегистрированным устройством, например:

devices/UnregisteredDeviceId/messages/events/$.ct=application%2Fjson&$.ce=utf-8

, затем подключенное устройство немедленно отключается от концентратора IoT.

Я рекомендую следующее:

  • направляет ваши сообщения данных телеметрии в хранилище BLOB-объектов
  • export ("excludeKeys": false) все идентификаторы устройств в хранилище BLOB-объектов
  • находит некоторые сообщения, которых нет в реестре удостоверений концентратора IoT запись
  • позвоните в службу поддержки MS и создайте заявку на эту проблему
2 голосов
/ 08 апреля 2020

Это действительно отличный вопрос, потому что он зависит от того, как вы подключаетесь к IoT Hub. Для моего ответа я буду принимать во внимание MQTT, AMQP и HTTP. При подключении к концентратору IoT с идентификатором устройства, который не существует, вы увидите следующие коды ошибок:

MQTT: 401003 IotHubUnauthorized
AMQP: 404001 DeviceNotFound
HTTP: 404001 DeviceNotFound

Теперь, если вы зарегистрировали устройство, но отключило его в IoT Концентратор , ошибки такие же, но вы не найдете ошибку MQTT в вашей трассировке. Вместо клиентской стороны вы получите ошибку Server Unavailable.

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

Итак, в заключение: поведение IoT-концентратора состоит в том, чтобы не разрешать подключаться никаким устройствам, когда они не зарегистрированы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...