

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

# Crea e gestisci i comandi
<a name="create-manage-remote-command-cli"></a>

**Importante**  
L'accesso a determinate FleetWise funzionalità AWS IoT è attualmente limitato. Per ulteriori informazioni, consulta [AWS Disponibilità di aree e funzionalità nell' AWS IoT FleetWise](fleetwise-regions.md).

Puoi configurare azioni remote riutilizzabili o inviare istruzioni immediate e una tantum ai tuoi dispositivi. Quando si utilizza questa funzionalità, è possibile specificare le istruzioni che i dispositivi possono eseguire quasi in tempo reale. Un comando consente di configurare azioni remote riutilizzabili per il veicolo bersaglio. Dopo aver creato un comando, puoi avviare un'esecuzione di comando destinata a un veicolo specifico.

In questo argomento viene illustrato come creare e gestire una risorsa di comando utilizzando l' AWS IoT Core API o il AWS CLI. Viene illustrato come eseguire le seguenti azioni su una risorsa di comando.

**Topics**
+ [Crea una risorsa di comando](#create-remote-command-cli)
+ [Recupera informazioni su un comando](#get-remote-command-cli)
+ [Elenca i comandi nel tuo account](#list-remote-command-cli)
+ [Aggiorna o depreca una risorsa di comando](#update-remote-command-cli)
+ [Eliminare una risorsa di comando](#delete-remote-command-cli)

## Crea una risorsa di comando
<a name="create-remote-command-cli"></a>

È possibile utilizzare l'operazione API del piano di [https://docs.aws.amazon.com/iot/latest/apireference/API_CreateCommand.html](https://docs.aws.amazon.com/iot/latest/apireference/API_CreateCommand.html) AWS IoT Core controllo o la FleetWise console AWS IoT per creare un comando.

### Creare un comando (console)
<a name="create-command-console"></a>

Puoi usare la FleetWise console AWS IoT per creare un comando.

**Per creare un comando**

1. Apri la [ FleetWise console AWS IoT](https://console.aws.amazon.com/iotfleetwise).

1. Nel riquadro di navigazione, scegli **Comandi**.

1. Scegli il **comando Crea**.

1. Specificate un ID di comando univoco per aiutarvi a identificare il comando che desiderate eseguire sul veicolo.

1. (Facoltativo) Specificate un nome visualizzato e una descrizione opzionali.

1. (Facoltativo) Selezionate l'attuatore e il valore del parametro predefinito. I parametri specificano le azioni che il veicolo bersaglio può eseguire dopo aver ricevuto il comando. Se non aggiungi parametri, dovrai fornirli durante l’esecuzione del comando.

1. Scegli un ruolo IAM che conceda le autorizzazioni per generare il payload per i comandi. [Vedi Controllo dell'accesso.](https://docs.aws.amazon.com/iot-fleetwise/latest/developerguide/controlling-access.html#generate-command-payload)

1. Scegli il **comando Crea**.

### Crea un comando (AWS CLI)
<a name="create-remote-command-example"></a>

L'esempio seguente mostra come creare un comando con un parametro.

#### Considerazioni sulla creazione di un comando
<a name="create-remote-command-considerations"></a>

Quando si crea un comando in AWS IoT FleetWise:
+ Devi specificare `roleArn` quello che concede l'autorizzazione a creare ed eseguire comandi sul tuo veicolo. Per ulteriori informazioni e sulle politiche di esempio, tra cui l'attivazione delle chiavi KMS, consulta. [Concedi AWS IoT Device Management l'autorizzazione a generare il payload per i comandi con AWS IoT FleetWise](controlling-access.md#generate-command-payload)
+ È necessario specificare `AWS-IoT-FleetWise` come spazio dei nomi.
+ È possibile ignorare il `mandatory-parameters` campo e specificarli invece in fase di esecuzione. In alternativa, è possibile creare un comando con parametri e, facoltativamente, specificare i relativi valori predefiniti. Se sono stati specificati valori predefiniti, in fase di esecuzione è possibile utilizzare tali valori o sostituirli specificando valori personalizzati. Per questi esempi aggiuntivi, vedere. [Scenari di utilizzo dei comandi](remote-command-use-cases.md)
+ È possibile specificare fino a tre coppie nome-valore per il `mandatory-parameters` campo. Tuttavia, quando si esegue il comando sul veicolo, viene accettata solo una coppia nome-valore e il `name` campo deve utilizzare il nome completo con il prefisso. `$actuatorPath.`
+ Sostituirlo *command-id* con un identificatore univoco per il comando. È possibile utilizzare UUID, caratteri alfanumerici, «-» e «\$1».
+ Sostituiscilo *role-arn* con il ruolo IAM che ti concede l'autorizzazione a creare ed eseguire comandi, ad esempio,. `"arn:aws:iam:accountId:role/FwCommandExecutionRole"`
+ (Facoltativo) Sostituiscilo *display-name* con un nome intuitivo per il comando e *description* con una descrizione significativa del comando.
+ Sostituisci *name* e *value* dell'`mandatory-parameters`oggetto con le informazioni richieste per il comando in fase di creazione. Il `name` campo è il nome completo definito nel catalogo dei segnali con `$actuatorPath.` come prefisso. Ad esempio, `name` può essere *\$1actuatorPath.Vehicle.Chassis.SteeringWheel.HandsOff.HandsOffSteeringMode* e `value` può essere un valore booleano che indica uno stato della modalità di guida come. *\$1"B": false\$1*

```
aws iot create-command --command-id command-id \ 
    --role-arn role-arn \
    --description description \
    --display-name display-name \     
    --namespace "AWS-IoT-FleetWise" \
    --mandatory-parameters '[
        {
            "name": name, 
            "value": value
        }
   ]'
```

L'operazione `CreateCommand` API restituisce una risposta che contiene l'ID e l'ARN (Amazon Resource Name) del comando.

```
{
    "commandId": "HandsOffSteeringMode",
    "commandArn": "arn:aws:iot:ap-south-1:123456789012:command/HandsOffSteeringMode"
}
```

## Recupera informazioni su un comando
<a name="get-remote-command-cli"></a>

È possibile utilizzare l'operazione API del piano di [https://docs.aws.amazon.com/iot/latest/apireference/API_GetCommand.html](https://docs.aws.amazon.com/iot/latest/apireference/API_GetCommand.html) AWS IoT Core controllo per recuperare informazioni su una risorsa di comando.

Per ottenere informazioni su una risorsa di comando, esegui il comando seguente. Sostituisci *command-id* con l'identificatore utilizzato durante la creazione del comando.

```
aws iot get-command --command-id command-id
```

L'operazione `GetCommand` API restituisce una risposta che contiene le seguenti informazioni.
+ L'ID e l'ARN (Amazon Resource Name) del comando.
+ La data e l'ora in cui il comando è stato creato e aggiornato l'ultima volta.
+ Lo stato del comando che indica se è disponibile per l'esecuzione sul veicolo.
+ Qualsiasi parametro specificato durante la creazione del comando.

```
{
    "commandId": "HandsOffSteeringMode",
    "commandArn": "arn:aws:iot:ap-south-1:123456789012:command/HandsOffSteeringMode"",
    "namespace": "AWS-IoT-FleetWise",
    "mandatoryParameters":[
        {
            "name": "$actuatorPath.Vehicle.Chassis.SteeringWheel.HandsOff.HandsOffSteeringMode",
            "value": {"B": false }
        }
    ],
    "createdAt": "2024-03-23T11:24:14.919000-07:00",
    "lastUpdatedAt": "2024-03-23T11:24:14.919000-07:00",
    "deprecated": false,
    "pendingDeletion": false
}
```

## Elenca i comandi nel tuo account
<a name="list-remote-command-cli"></a>

Puoi utilizzare l'operazione API del piano di [https://docs.aws.amazon.com/iot/latest/apireference/API_ListCommands.html](https://docs.aws.amazon.com/iot/latest/apireference/API_ListCommands.html) AWS IoT Core controllo per elencare tutti i comandi dell'account che hai creato.

Per elencare i comandi nel tuo account, esegui il comando seguente. Per impostazione predefinita, l'API restituisce i comandi creati per entrambi i namespace. Per filtrare l'elenco in modo da visualizzare solo i comandi per cui sono stati creati AWS IoT FleetWise, esegui il comando seguente.

**Nota**  
È inoltre possibile ordinare l'elenco in ordine crescente o decrescente oppure filtrare l'elenco per visualizzare solo i comandi con un nome di parametro di comando specifico.

```
aws iot list-commands --namespace "AWS-IoT-FleetWise"
```

L'operazione `ListCommands` API restituisce una risposta che contiene le seguenti informazioni.
+ L'ID e l'ARN (Amazon Resource Name) dei comandi.
+ La data e l'ora in cui il comando è stato creato e aggiornato l'ultima volta.
+ Lo stato del comando che indica se i comandi sono disponibili per l'esecuzione sul veicolo.

## Aggiorna o depreca una risorsa di comando
<a name="update-remote-command-cli"></a>

È possibile utilizzare l'operazione API del piano di [https://docs.aws.amazon.com/iot/latest/apireference/API_UpdateCommand.html](https://docs.aws.amazon.com/iot/latest/apireference/API_UpdateCommand.html) AWS IoT Core controllo o la FleetWise console AWS IoT per aggiornare una risorsa di comando. È possibile aggiornare il nome visualizzato e la descrizione di un comando. È inoltre possibile rendere obsoleto un comando se non è attualmente in uso.

**Nota**  
Non è possibile modificare le informazioni sullo spazio dei nomi o i parametri da utilizzare durante l'esecuzione del comando.

### Aggiornare un comando (console)
<a name="update-command-console"></a>

**Aggiornare un comando**  
Per aggiornare un comando dalla console, vai alla pagina [Comandi](https://console.aws.amazon.com/iotfleetwise/home#/commands) della FleetWise console AWS IoT ed esegui i seguenti passaggi.

1. Scegli il comando che desideri aggiornare, quindi scegli **Modifica**.

1. Modifica i dettagli del comando, quindi scegli **Salva modifiche**.

**Deprecate un comando**  
Per rendere obsoleto un comando dalla console, vai alla pagina [Comandi](https://console.aws.amazon.com/iotfleetwise/home#/commands) della FleetWise console AWS IoT ed esegui i seguenti passaggi.

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

1. **Conferma la deprecazione, quindi scegli Deprecate.**

### Aggiorna un comando ()AWS CLI
<a name="update-command-cli"></a>

**Aggiornare un comando**  
Per aggiornare una risorsa di comando, esegui il comando seguente. Sostituiscila *command-id* con l'identificatore del comando che desideri aggiornare e fornisci la versione aggiornata *display-name* e*description*.

```
aws iot update-command \ 
    --command-id command-id \ 
    --display-name display-name \ 
    --description description
```

L'operazione `UpdateCommand` API restituisce la seguente risposta.

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

**Deprecare un comando**  
Si considera obsoleto un comando quando si intende non continuare a utilizzarlo per il dispositivo o quando è obsoleto. L'esempio seguente mostra come rendere obsoleto un comando.

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

L'operazione `UpdateCommand` API restituisce una risposta che contiene l'ID e l'ARN (Amazon Resource Name) del comando.

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

Una volta che un comando è diventato obsoleto, le esecuzioni di comandi esistenti continueranno a essere eseguite sul veicolo fino a quando non diventeranno terminali. Per eseguire nuove esecuzioni di comandi, è necessario utilizzare l'`UpdateCommand`API per ripristinare il comando in modo che diventi disponibile. *Per ulteriori informazioni sulla deprecazione e il ripristino di un comando e relative considerazioni, consulta [Deprecare](https://docs.aws.amazon.com/iot/latest/developerguide/iot-remote-command-deprecate) una risorsa di comando nella Developer Guide.AWS IoT Core *

## Eliminare una risorsa di comando
<a name="delete-remote-command-cli"></a>

È possibile utilizzare l'operazione API del piano di [https://docs.aws.amazon.com/iot/latest/apireference/API_DeleteCommand.html](https://docs.aws.amazon.com/iot/latest/apireference/API_DeleteCommand.html) AWS IoT Core controllo o la FleetWise console AWS IoT per eliminare una risorsa di comando.

**Nota**  
Le operazioni di eliminazione sono permanenti e non possono essere annullate. Il comando verrà rimosso definitivamente dal tuo account.

### Eliminare un comando (console)
<a name="delete-command-console"></a>

Per eliminare un comando dalla console, vai alla pagina [Comandi](https://console.aws.amazon.com/iotfleetwise/home#/commands) della FleetWise console AWS IoT ed esegui i seguenti passaggi.

1. Scegli il comando che desideri eliminare, quindi scegli **Elimina**.

1. Confermate di voler eliminare il comando, quindi scegliete **Elimina**.

### Eliminare un comando (AWS CLI)
<a name="delete-command-cli"></a>

Per eliminare una risorsa di comando, esegui il comando seguente. Sostituisci *command-id* con l'identificatore del comando che desideri eliminare. L'esempio seguente mostra come eliminare una risorsa di comando.

```
aws iot delete-command --command-id command-id
```

Se la richiesta di eliminazione ha esito positivo:
+ Se il comando è obsoleto per una durata superiore al timeout massimo di 24 ore, il comando verrà eliminato immediatamente e verrà visualizzato un HTTP di 204. `statusCode`
+ Se il comando non è obsoleto o è stato obsoleto per una durata inferiore al timeout massimo, il comando sarà in uno stato e verrà visualizzato un HTTP di 202. `pending deletion` `statusCode` Il comando verrà rimosso automaticamente dal tuo account dopo il timeout massimo di 24 ore.