

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à.

# Deprecare una risorsa di comando
<a name="iot-remote-command-deprecate"></a>

Deprecate i comandi per indicare che sono obsoleti e non devono essere utilizzati. Ad esempio, i comandi obsoleti non vengono più mantenuti attivamente o quando si creano comandi più recenti con lo stesso ID ma payload diversi.

## Considerazioni chiave
<a name="iot-remote-command-deprecate-considerations"></a>

Considerazioni importanti sulla deprecazione dei comandi:
+ La deprecazione di un comando non lo elimina. È possibile recuperare il comando utilizzando il relativo ID e ripristinarlo per riutilizzarlo.
+ Il tentativo di avviare nuove esecuzioni su comandi obsoleti genera un errore che impedisce l'uso di comandi obsoleti.
+ Per eseguire un comando obsoleto, è necessario innanzitutto ripristinarlo. Dopo il ripristino, il comando diventa disponibile per l'uso e l'esecuzione regolari sui dispositivi di destinazione.
+ Se si rende obsoleto un comando mentre le esecuzioni sono in corso, queste continuano a funzionare fino al completamento. È comunque possibile recuperare lo stato di esecuzione.

## Deprecare una risorsa di comando (console)
<a name="iot-remote-command-deprecate-console"></a>

Per rendere obsoleto un comando dalla console, accedi al [Command Hub](https://console.aws.amazon.com/iot/home#/commandHub) della AWS IoT console ed esegui i seguenti passaggi.

1. **Scegli il comando che desideri rendere obsoleto, quindi in **Azioni** scegli Deprecate.**

1. **Conferma che desideri rendere obsoleto il comando, quindi scegli Deprecate.**

## Deprecare una risorsa di comando (CLI)
<a name="iot-remote-command-deprecate-cli"></a>

Contrassegna i comandi come obsoleti utilizzando la CLI. `update-command` È necessario rendere obsoleto un comando prima dell'eliminazione. Per utilizzare un comando obsoleto, ripristinalo prima.

```
aws iot update-command \ 
    --command-id <command-id> \ 
    --deprecated
```

Ad esempio, se avete reso obsoleto il `ACSwitch` comando aggiornato nell'esempio precedente, il codice seguente mostra un esempio di output dell'esecuzione del comando.

```
{
    "commandId": "turnOffAc",
    "deprecated": true,
    "lastUpdatedAt": "2024-05-09T23:16:51.370000-07:00"
}
```

## Controlla l'ora e lo stato di deprecazione
<a name="iot-remote-command-deprecate-check"></a>

Utilizza l'`GetCommand`API per determinare se un comando è obsoleto e quando è stato deprecato l'ultima volta.

```
aws iot get-command --command-id <turnOffAC>
```

Questo comando genera una risposta contenente informazioni sul comando, inclusi i timestamp di creazione e deprecazione relativi all'ultimo campo aggiornato. Ciò consente di determinare la durata del comando e se eliminarlo o riutilizzarlo. Di seguito viene illustrato un esempio di risposta per il `turnOffAc` comando:

```
{
    "commandId": "turnOffAC",
    "commandArn": "arn:aws:iot:us-east-1:123456789012:command/turnOffAC",
    "namespace": "AWS-IoT",
    "payload": {
        "content": "testPayload.json",
        "contentType": "application/json"
    },
    "createdAt": "2024-03-23T00:50:10.095000-07:00",
    "lastUpdatedAt": "2024-05-09T23:16:51.370000-07:00",
    "deprecated": false
}
```

## Ripristina una risorsa di comando
<a name="iot-remote-command-undeprecate"></a>

Per utilizzare o inviare il `ACSwitch` comando al dispositivo, ripristinalo prima.

Per ripristinare un comando dalla console, vai al [Command Hub](https://console.aws.amazon.com/iot/home#/commandHub) della AWS IoT console, scegli il comando che desideri ripristinare, quindi in **Azioni** scegli **Ripristina**.

Per ripristinare un comando utilizzando l' AWS IoT Core API o il AWS CLI, utilizza l'operazione `UpdateCommand` API o la `update-command` CLI. Il codice seguente mostra un esempio di richiesta e risposta.

```
aws iot update-command \ 
    --command-id <command-id> 
    --no-deprecated
```

Il codice seguente mostra un output di esempio.

```
{
    "commandId": "ACSwitch",
    "deprecated": false,
    "lastUpdatedAt": "2024-05-09T23:17:21.954000-07:00"
}
```