

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Eventos de ejecución de comandos
<a name="command-events"></a>

AWS IoT publica mensajes de eventos en temas de MQTT cuando las ejecuciones de comandos cambian de estado. Puede utilizar estos eventos para supervisar el progreso de la ejecución de los comandos y crear aplicaciones que respondan a los cambios de estado.

**Temas de eventos de ejecución de comandos**  
Los eventos de ejecución de comandos se publican en el siguiente tema de MQTT:

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

Donde:
+ `commandId`es el identificador del comando.
+ `status`es el estado de la ejecución del comando. Los valores válidos son: `CREATED`, `IN_PROGRESS`, `SUCCEEDED`, `FAILED`, `REJECTED`, `TIMED_OUT`.

Para recibir notificaciones de todos los comandos y todos los estados, suscríbase al siguiente tema con caracteres comodín:

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

**Mensaje de evento de ejecución de comandos**  
Cuando el estado de ejecución de un comando cambia, AWS IoT publica un mensaje de evento en el tema de MQTT correspondiente. El mensaje contiene la siguiente carga de ejemplo:

```
{
    "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
}
```

La carga contiene los siguientes atributos:

**ID de ejecución**  
Un identificador único para la ejecución del comando (cadena).

**estado**  
El estado de la ejecución del comando. Los valores válidos son: `CREATED`, `IN_PROGRESS`, `SUCCEEDED`, `FAILED`, `REJECTED`, `TIMED_OUT`.

**statusReason**  
Objeto que contiene información adicional sobre el estado, si está disponible. Contiene `reasonCode` y `reasonDescription` campos.

**eventType**  
Establézcalo en «COMMAND\$1EXECUTION».

**Comando ARN**  
El nombre de recurso de Amazon (ARN) del comando.

**TargetArn**  
El ARN del dispositivo (cosa o cliente) de destino para la ejecución del comando.

**timestamp**  
La marca de tiempo UNIX de cuándo se produjo el evento.