

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Eventi di esecuzione dei comandi
<a name="command-events"></a>

AWS IoT pubblica messaggi di eventi su argomenti MQTT quando l'esecuzione dei comandi cambia lo stato. È possibile utilizzare questi eventi per monitorare l'avanzamento dell'esecuzione dei comandi e creare applicazioni che rispondono ai cambiamenti di stato.

**Argomenti degli eventi di esecuzione dei comandi**  
Gli eventi di esecuzione dei comandi sono pubblicati nel seguente argomento MQTT:

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

Dove:
+ `commandId`è l'identificatore del comando.
+ `status`è lo stato dell'esecuzione del comando. I valori validi sono: `CREATED`, `IN_PROGRESS`, `SUCCEEDED`, `FAILED`, `REJECTED`, `TIMED_OUT`.

Per ricevere notifiche per tutti i comandi e tutti gli stati, sottoscrivi il seguente argomento utilizzando caratteri jolly:

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

**Messaggio relativo all'evento di esecuzione del comando**  
Quando lo stato di esecuzione di un comando cambia, AWS IoT pubblica un messaggio di evento nell'argomento MQTT corrispondente. Il messaggio contiene il seguente payload di esempio:

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

Il payload contiene gli attributi seguenti:

**ID di esecuzione**  
Un identificatore univoco per l'esecuzione del comando (stringa).

**status**  
Lo stato dell'esecuzione del comando. I valori validi sono: `CREATED`, `IN_PROGRESS`, `SUCCEEDED`, `FAILED`, `REJECTED`, `TIMED_OUT`.

**StatusReason**  
Un oggetto contenente informazioni aggiuntive sullo stato, se disponibili. Contiene `reasonCode` e `reasonDescription` campi.

**eventType**  
Impostato su «COMMAND\$1EXECUTION».

**COMANDOARN**  
L'Amazon Resource Name (ARN) del comando.

**TargetARN**  
L'ARN del dispositivo di destinazione (cosa o client) per l'esecuzione del comando.

**timestamp**  
Timestamp UNIX del momento in cui si è verificato l'evento.