

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# 명령 실행 이벤트
<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/+/#
```

**명령 실행 이벤트 메시지**  
명령 실행 상태가 변경되면는 해당 MQTT 주제에 이벤트 메시지를 AWS IoT 게시합니다. 메시지에는 아래와 같은 페이로드 예제가 포함됩니다.

```
{
    "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**  
명령 실행의 고유 식별자(문자열).

**상태**  
명령 실행의 상태입니다. 유효한 값은 `CREATED`, `IN_PROGRESS`, `SUCCEEDED`, `FAILED`, `REJECTED`, `TIMED_OUT`입니다.

**statusReason**  
사용 가능한 경우 상태에 대한 추가 정보가 포함된 객체입니다. `reasonCode` 및 `reasonDescription` 필드를 포함합니다.

**eventType**  
"COMMAND\$1EXECUTION"으로 설정합니다.

**commandArn**  
명령의 Amazon 리소스 이름(ARN)입니다.

**targetArn**  
명령 실행을 위한 대상 디바이스(사물 또는 클라이언트)의 ARN입니다.

**timestamp**  
이벤트가 발생한 시점의 UNIX 타임스탬프입니다.