AWS IoT
开发人员指南
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

事件消息

注意

本部分中的信息介绍在更新或更改事物或作业时 AWS IoT 所发布的消息。有关 AWS IoT Events 服务(该服务允许您创建探测器以监控设备的故障或操作变化,并在上述情况发生时触发操作)的信息,请参阅 AWS IoT Events

在发生特定事件时,AWS IoT 将发布事件消息。例如,在添加、更新或删除事物时,由注册表生成事件。每个事件将导致发送单个事件消息。事件消息通过 MQTT 随 JSON 负载一起发布。负载的内容取决于事件的类型。

注意

保证事件消息发布一次。事件消息可能会多次发布。事件消息的顺序无法保证。

要接收事件消息,您的设备必须使用合适的策略,该策略允许设备连接到 AWS IoT 设备网关并订阅 MQTT 事件主题。您还必须订阅合适的主题筛选器。

以下是接收生命周期事件时需要的策略示例:

{ "Version":"2012-10-17", "Statement":[{ "Effect":"Allow", "Action":[ "iot:Subscribe", "iot:Receive" ], "Resource":[ "arn:aws:iot:region:account:/$aws/events/*" ] }] }

您可以通过调用 UpdateEventConfigurations API 或通过使用 update-event-configurations CLI 命令来控制发布哪些事件类型。例如:

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

注意

使用反斜杠 (\) 转义所有双引号 (")。

您可以通过调用 DescribeEventConfigurations API 或通过使用 describe-event-configurations CLI 命令来获取当前事件配置。例如:

aws iot describe-event-configurations

describe-event-configurations 命令的输出如下所示:

{ "lastModifiedDate": 1552671347.841, "eventConfigurations": { "THING_TYPE": { "Enabled": false }, "JOB_EXECUTION": { "Enabled": false }, "THING_GROUP_HIERARCHY": { "Enabled": false }, "CERTIFICATE": { "Enabled": false }, "THING_TYPE_ASSOCIATION": { "Enabled": false }, "THING_GROUP_MEMBERSHIP": { "Enabled": false }, "CA_CERTIFICATE": { "Enabled": false }, "THING": { "Enabled": true }, "JOB": { "Enabled": false }, "POLICY": { "Enabled": false }, "THING_GROUP": { "Enabled": false } }, "creationDate": 1552671347.84 }