

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

# 事件消息
<a name="iot-events"></a>

本节包含有关内容或作业更新或更改 Amazon IoT 时发布的消息的信息。有关允许您创建检测器来监控设备是否存在故障或操作变化并在出现故障或操作时触发操作的 Amazon IoT Events 服务的信息，请参阅[Amazon IoT Events](https://www.amazonaws.cn/iot-events)。

## 事件消息的生成方式
<a name="iot-events-how"></a>

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

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

### 接收事件消息的策略
<a name="iot-events-policy"></a>

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

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "iot:Subscribe",
                "iot:Receive"
            ],
            "Resource": [
                "arn:aws:iot:{{us-east-1}}:123456789012:/$aws/events/*"
            ]
        }
    ]
}
```

## 启用以下项的事件 Amazon IoT
<a name="iot-events-enable"></a>

在保留主题的订阅者可以接收消息之前，必须使用 API Amazon Web Services 管理控制台 或 CLI 启用来自或的事件消息。有关不同选项管理的事件消息的信息，请参阅[Amazon IoT 事件配置设置表](#iot-events-settings-table)。
+ 要启用事件消息，请转到 Amazon IoT 控制台的[设置](https://console.amazonaws.cn//iot/home#/settings)选项卡，然后在**基于事件的消息**部分，选择**管理事件**。您可以指定要管理的事件。
+ 要控制使用 API 或 CLI 发布哪些事件类型，请调用 [UpdateEventConfigurations](https://docs.amazonaws.cn/iot/latest/apireference/API_UpdateEventConfigurations.html)API 或使用 **update-event-configurations** CLI 命令。例如：

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

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

您可以通过调用 [DescribeEventConfigurations](https://docs.amazonaws.cn/iot/latest/apireference/API_DescribeEventConfigurations.html)API 或使用 **describe-event-configurations** CLI 命令来获取当前的事件配置。例如：

```
aws iot describe-event-configurations
```<a name="iot-events-settings-table"></a>

** 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`<br />`$aws/events/thingTypeAssociation/thing/{{thingName}}/thingType/{{thingTypeName}}/removed` | 