事件消息 - Amazon IoT Core
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

事件消息

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

事件消息的生成方式

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

注意

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

接收事件消息的策略

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

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

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

启用 Amazon IoT 事件

在保留主题的订阅者能够接收消息之前,必须启用来自 Amazon Web Services Management Console 的消息或使用 API 或 CLI。有关不同选项管理的事件消息的信息,请参阅 Amazon IoT 事件配置设置表

  • 要启用事件消息,请转到 Amazon IoT 控制台的设置选项卡,然后,在基于事件的消息部分选择管理事件。您可以指定要管理的事件。

  • 要通过 API 或 CLI 控制发布的事件类型,调用 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

Amazon IoT 事件配置设置表

事件类别

(Amazon IoT 控制台:设置:基于事件的消息)

eventConfigurations 键值

(Amazon CLI/API)

事件消息主题

(只能使用 Amazon CLI/API 进行配置)

CA_CERTIFICATE

$aws/events/certificates/registered/caCertificateId

(只能使用 Amazon CLI/API 进行配置)

CERTIFICATE

$aws/events/presence/connected/clientId

(只能使用 Amazon CLI/API 进行配置)

CERTIFICATE

$aws/events/presence/disconnected/clientId

(只能使用 Amazon CLI/API 进行配置)

CERTIFICATE

$aws/events/subscriptions/subscribed/clientId

(只能使用 Amazon CLI/API 进行配置)

CERTIFICATE

$aws/events/subscriptions/unsubscribed/clientId

任务已完成、已取消

JOB

$aws/events/job/jobID/canceled

任务已完成、已取消

JOB

$aws/events/job/jobID/cancellation_in_progress

任务已完成、已取消

JOB

$aws/events/job/jobID/completed

任务已完成、已取消

JOB

$aws/events/job/jobID/deleted

任务已完成、已取消

JOB

$aws/events/job/jobID/deletion_in_progress

任务执行:成功、失败、已被拒绝、已取消、已删除

JOB_EXECUTION

$aws/events/jobExecution/jobID/canceled

任务执行:成功、失败、已被拒绝、已取消、已删除

JOB_EXECUTION

$aws/events/jobExecution/jobID/deleted

任务执行:成功、失败、已被拒绝、已取消、已删除

JOB_EXECUTION

$aws/events/jobExecution/jobID/failed

任务执行:成功、失败、已被拒绝、已取消、已删除

JOB_EXECUTION

$aws/events/jobExecution/jobID/rejected

任务执行:成功、失败、已被拒绝、已取消、已删除

JOB_EXECUTION

$aws/events/jobExecution/jobID/removed

任务执行:成功、失败、已被拒绝、已取消、已删除

JOB_EXECUTION

$aws/events/jobExecution/jobID/succeeded

任务执行:成功、失败、已被拒绝、已取消、已删除

JOB_EXECUTION

$aws/events/jobExecution/jobID/timed_out

事物:已创建、已更新、已删除

THING

$aws/events/thing/thingName/created

事物:已创建、已更新、已删除

THING

$aws/events/thing/thingName/updated

事物:已创建、已更新、已删除

THING

$aws/events/thing/thingName/deleted

事物组:已添加、已删除

THING_GROUP

$aws/events/thingGroup/thingGroupName/created

事物组:已添加、已删除

THING_GROUP

$aws/events/thingGroup/thingGroupName/updated

事物组:已添加、已删除

THING_GROUP

$aws/events/thingGroup/thingGroupName/deleted

事物组层次结构:已添加、已删除

THING_GROUP_HIERARCHY

$aws/events/thingGroupHierarchy/thingGroup/parentThingGroupName/childThingGroup/childThingGroupName/added

事物组层次结构:已添加、已删除

THING_GROUP_HIERARCHY

$aws/events/thingGroupHierarchy/thingGroup/parentThingGroupName/childThingGroup/childThingGroupName/removed

事物组成员资格:已添加、已删除

THING_GROUP_MEMBERSHIP

$aws/events/thingGroupMembership/thingGroup/thingGroupName/thing/thingName/added

事物组成员资格:已添加、已删除

THING_GROUP_MEMBERSHIP

$aws/events/thingGroupMembership/thingGroup/thingGroupName/thing/thingName/removed

事物类型:已创建、已更新、已删除

THING_TYPE

$aws/events/thingType/thingTypeName/created

事物类型:已创建、已更新、已删除

THING_TYPE

$aws/events/thingType/thingTypeName/updated

事物类型:已创建、已更新、已删除

THING_TYPE

$aws/events/thingType/thingTypeName/deleted

事物类型关联:已添加、已删除

THING_TYPE_ASSOCIATION

$aws/events/thingTypeAssociation/thing/thingName/thingTypeName