Как отслеживать непрерывное выполнение заданий для каждой вещи в AWS-IoT

#amazon-web-services #aws-iot #aws-iot-core #aws-iot-jobs

Вопрос:

Я использую AWS IoT для управления вещами. У меня есть Динамическая группа вещей с непрерывным заданием IoT, поэтому в конечном итоге каждая вещь (в зависимости от условий) может быть добавлена в эту группу, и вещь будет уведомлена о выполняемом задании. Этот работает идеально.

Теперь мне нужно отслеживать SUCCEEDED событие задания для каждой вещи (выполнение задания). Как я могу это сделать с помощью сервисов интернета вещей AWS?

Я пытался сделать это с помощью правил AWS IoT со следующим выражением SQL:

SELECT * FROM '$aws/events/jobExecution/my-continuous-job-id/succeeded'

но безуспешно, никаких событий не наблюдалось. Однако в то же время я вижу, что задание было успешно выполнено так же, как и в веб-консоли AWS IoT.

Ответ №1:

После некоторых исследований я нашел ответ. Поэтому для обработки событий выполнения заданий необходимо явно активировать эту функцию в AWS IoT Core, что не очевидно с первого взгляда:

  • Веб-консоль AWS:

AWS IoT -> Настройки ->> Управление событиями ->>> Проверка «Выполнение задания: успешно, неудачно, отклонено, отменено, удалено»

  • Интерфейс командной строки AWS:
     aws iot update-event-configurations --event-configurations "{"JOB_EXECUTION":{"Enabled": true}}"
    
     

Документы: https://docs.aws.amazon.com/iot/latest/developerguide/iot-events.html