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

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

事件消息

本节包含有关内容或作业更新或更改 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

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

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

  • 要控制使用 API 或 CLI 发布哪些事件类型,请调用 UpdateEventConfigurationsAPI 或使用 update-event-configurations CLI 命令。例如:

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

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

您可以通过调用 DescribeEventConfigurationsAPI 或使用 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/thingType/thingTypeName/added

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