Как лучше всего проверить, отключен ли AWS IoT Core?
Возможность запрашивать состояние объекта AWS IoT для многих будет важной частью их приложения. У Lucky AWS есть рекомендации по получению событий жизненного цикла здесь: https://docs.aws.amazon.com/iot/latest/developerguide/life-cycle-events.html
В документации есть раздел, описывающий, как работать с событиями жизненного цикла, и здесь упоминается, что после получения события жизненного цикла отключения вы должны подождать некоторое время, прежде чем проверять, находится ли устройство по-прежнему в автономном режиме.
Когда это сообщение становится доступным и обрабатывается (Lambda или другой службой), вы можете сначала проверить, находится ли устройство по-прежнему в автономном режиме, прежде чем предпринимать дальнейшие действия.
Вопрос в том, как мне проверить, что устройство все еще находится в автономном режиме?
Предлагаемая в документации инфраструктура - это правило Интернета вещей, подписанное на тему «$ aws / events / availability / disconnected / clientId», будет создавать сообщение в очереди SQS. Очередь SQS задержит сообщение с помощью атрибута deliveryDelay
до того, как лямбда-функция будет использовать сообщение. Именно в этой лямбда-функции мы должны проверить, находится ли устройство по-прежнему в автономном режиме.
Я мог бы просто реализовать таблицу Dynamodb с состоянием устройства и отметкой времени, которая будет обновляться каждый раз при возникновении события подключения или отключения без задержки. Но должен ли быть более умный способ определить, находится ли устройство по-прежнему в автономном режиме?