Когда возникают события EventGrid IoT Hub DeviceConnected и DeviceDisconnected

Центр Интернета вещей публикует события DeviceConnected и DeviceDisconnected через сетку событий согласно документации.

У меня вопрос: какое действие на реальном IoT-устройстве вызывает эти события?

Для события DeviceConnected:

  • Срабатывает ли он при вызове метода OpenAsync в клиентском SDK?
  • Срабатывает ли он неявно при вызове метода SendEvent?
  • Доступно ли это событие также через прямые соединения AMQP / MQTT?
  • Как долго он будет оставаться в этом состоянии?

Для события DeviceDisconnected:

  • Будет ли устройство отключено при вызове Close на DeviceClient?
  • Что делать, если подключение не очень хорошее? Есть ли постоянный пинг вместе с механизмом тайм-аута, который помечает устройство как отключенное после простоя в течение определенного времени?

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


person Markus S.    schedule 22.02.2021    source источник


Ответы (1)


Я нашел этот отрывок в документация

Состояние подключения обновляется только для устройств, использующих MQTT или AMQP. Кроме того, он основан на запросах на уровне протокола (запросы MQTT или запросы AMQP) и может иметь максимальную задержку всего 5 минут. По этим причинам могут быть ложные срабатывания, например, если устройства сообщаются как подключенные, но отключенные.

Это покрывает большинство моих вопросов.

person Markus S.    schedule 23.02.2021