如何跟踪 AWS-IoT 中每个事物的连续作业执行

How to track Continuous Job execution per Thing in AWS-IoT

我使用 AWS IoT 来管理事物。 我有一个附加了连续物联网作业的动态事物组,因此每个事物最终(基于条件)都可以添加到这个组中,并且事物将在要执行的作业上得到通知。这个完美。

现在我需要跟踪每个事物(作业执行)的作业 SUCCEEDED 事件。我如何使用 AWS IoT 服务执行此操作?

我尝试使用具有以下 SQL 表达式的 AWS IoT 规则来执行此操作:

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

但没有成功,没有观察到任何事件。但是,同时我可以看到作业已成功执行,就像在 AWS IoT Web 控制台中一样。

经过一番研究,我找到了答案。因此,要处理作业执行事件,应该在 AWS IoT Core 中显式激活此功能,乍一看并不明显:

  • AWS Web 控制台:

A​​WS IoT -> 设置 -> 管理事件 -> 检查“作业执行:成功、失败、拒绝、取消、删除”

  • A​​WS CLI:

    aws iot update-event-configurations --event-configurations "{\"JOB_EXECUTION\":{\"Enabled\": true}}"
    
    

文档:https://docs.aws.amazon.com/iot/latest/developerguide/iot-events.html