

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

# 命令執行事件
<a name="command-events"></a>

AWS IoT 當命令執行變更狀態時， 會將事件訊息發佈至 MQTT 主題。您可以使用這些事件來監控命令執行進度，並建置可回應狀態變更的應用程式。

**命令執行事件主題**  
命令執行事件會發佈至下列 MQTT 主題：

```
$aws/events/commandExecution/commandId/status
```

其中：
+ `commandId` 是 命令的識別符。
+ `status` 是命令執行的狀態。有效值為：`CREATED`、`IN_PROGRESS`、`SUCCEEDED`、`FAILED`、`REJECTED`、`TIMED_OUT`。

若要接收所有命令和所有狀態的通知，請使用萬用字元訂閱下列主題：

```
$aws/events/commandExecution/+/#
```

**命令執行事件訊息**  
當命令執行狀態變更時， 會將事件訊息 AWS IoT 發佈至對應的 MQTT 主題。訊息包含的承載範例如下：

```
{
    "executionId": "2bd65c51-4cfd-49e4-9310-d5cbfdbc8554",
    "status": "FAILED",
    "statusReason": {
        "reasonCode": "DEVICE_TOO_BUSY",
        "reasonDescription": ""
    },
    "eventType": "COMMAND_EXECUTION",
    "commandArn": "arn:aws:iot:us-east-1:123456789012:command/0b9d9ddf-e873-43a9-8e2c-9fe004a90086",
    "targetArn": "arn:aws:iot:us-east-1:123456789012:thing/5006c3fc-de96-4def-8427-7eee36c6f2bd",
    "timestamp": 1717708862107
}
```

承載包含以下屬性：

**executionId**  
命令執行的唯一識別符 （字串）。

**status**  
命令執行的狀態。有效值為：`CREATED`、`IN_PROGRESS`、`SUCCEEDED`、`FAILED`、`REJECTED`、`TIMED_OUT`。

**statusReason**  
如果可用，則包含狀態額外資訊的物件。包含 `reasonCode`和 `reasonDescription` 欄位。

**eventType**  
設定為 "COMMAND\$1EXECUTION"。

**commandArn**  
命令的 Amazon Resource Name (ARN)。

**targetArn**  
命令執行的目標裝置 （物件或用戶端） 的 ARN。

**timestamp**  
事件發生時的 UNIX 時間戳記。