

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

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

本節包含更新或變更物件或任務 AWS IoT 時， 發佈的訊息相關資訊。

## 如何產生事件訊息
<a name="iot-events-how"></a>

AWS IoT 會在發生特定事件時發佈事件訊息。例如，在新增、更新或刪除事物時，由登錄檔產生的事件。每個事件都會觸發傳送一則事件訊息。事件訊息會透過具 JSON 承載的 MQTT 發佈。承載內容取決於事件的類型。

**注意**  
事件訊息保證會發佈一次。事件訊息也有可能發佈超過一次。事件訊息的順序無法保證。

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

若要接收事件訊息，您的裝置必須使用適當的政策，允許它連線到 AWS IoT 裝置閘道並訂閱 MQTT 事件主題。您也必須訂閱合適的主題篩選條件。

以下為接收生命週期事件所需的政策範例：

****  

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

## 啟用 的事件 AWS IoT
<a name="iot-events-enable"></a>

在預留主題的訂閱者可以接收訊息之前，您必須從 或使用 API AWS 管理主控台 或 CLI 啟用事件訊息。如需不同選項管理的事件訊息資訊，請參閱[AWS IoT 事件組態設定表](#iot-events-settings-table)。
+ 若要啟用事件訊息，請前往 AWS IoT 主控台[的設定](https://console.aws.amazon.com//iot/home#/settings)索引標籤，然後在**事件型訊息**區段中選擇**管理事件**。您可以指定要管理的事件。
+ 若要透過使用 API 或 CLI 來控制要發佈的事件類型，請呼叫 [UpdateEventConfigurations](https://docs.aws.amazon.com/iot/latest/apireference/API_UpdateEventConfigurations.html) API 或使用 **update-event-configurations** CLI 命令。例如：

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

**注意**  
所有引號 (") 都會與反斜線 (\\) 一起逸出。

您可以透過呼叫 [DescribeEventConfigurations](https://docs.aws.amazon.com/iot/latest/apireference/API_DescribeEventConfigurations.html) API 或使用 **describe-event-configurations** CLI 命令來取得目前的事件設定。例如：

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

** AWS IoT 事件組態設定資料表**


|  事件類別  (AWS IoT 主控台：設定：事件型訊息）  |  `eventConfigurations` 金鑰值 (AWS CLI/API)  |    事件訊息主題  | 
| --- | --- | --- | 
| *(只能使用 AWS CLI/API 進行設定)* | `CA_CERTIFICATE` | `$aws/events/certificates/registered/{{caCertificateId}}` | 
| *(只能使用 AWS CLI/API 進行設定)* | `CERTIFICATE` | `$aws/events/presence/connected/{{clientId}}` | 
| *(只能使用 AWS CLI/API 進行設定)* | `CERTIFICATE` | `$aws/events/presence/disconnected/{{clientId}}` | 
| *(只能使用 AWS CLI/API 進行設定)* | `CERTIFICATE` | `$aws/events/subscriptions/subscribed/{{clientId}}` | 
| *(只能使用 AWS 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` | 