

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

# Verifica lo stato della distribuzione
<a name="check-deployment-status"></a>

Puoi controllare lo stato di una distribuzione in cui crei. AWS IoT Greengrass Puoi anche controllare lo stato dei AWS IoT processi che implementano la distribuzione su ciascun dispositivo principale. Mentre una distribuzione è attiva, lo stato del AWS IoT processo è. `IN_PROGRESS` Dopo aver creato una nuova revisione di una distribuzione, lo stato del job della revisione precedente cambia in. AWS IoT `CANCELLED`

**Topics**
+ [Verifica lo stato della distribuzione](#check-cloud-deployment-status)
+ [Verifica lo stato di distribuzione del dispositivo](#check-device-deployment-status)

## Verifica lo stato della distribuzione
<a name="check-cloud-deployment-status"></a>

È possibile verificare lo stato di una distribuzione identificata in base alla destinazione o all'ID.

**Per verificare lo stato della distribuzione per destinazione (AWS CLI)**
+ Esegui il comando seguente per recuperare lo stato dell'ultima distribuzione di una destinazione. Sostituisci {{targetArn}} con Amazon Resource Name (ARN) dell' AWS IoT oggetto o del gruppo di cose a cui si rivolge la distribuzione.

  ```
  aws greengrassv2 list-deployments --target-arn {{targetArn}}
  ```

  La risposta contiene un elenco con l'ultima distribuzione per il target. Questo oggetto di distribuzione include lo stato della distribuzione.

**Per verificare lo stato della distribuzione tramite ID (AWS CLI)**
+ Esegui il comando seguente per recuperare lo stato di una distribuzione. Sostituisci {{deploymentId}} con l'ID della distribuzione da interrogare.

  ```
  aws greengrassv2 get-deployment --deployment-id {{deploymentId}}
  ```

  La risposta contiene lo stato della distribuzione.

## Verifica lo stato di distribuzione del dispositivo
<a name="check-device-deployment-status"></a>

È possibile verificare lo stato di un processo di distribuzione che si applica a un singolo dispositivo principale. È inoltre possibile controllare lo stato di un processo di distribuzione per una distribuzione di un gruppo di oggetti.

**Per verificare lo stato del processo di distribuzione per un dispositivo principale (AWS CLI)**
+ Esegui il comando seguente per recuperare lo stato di tutti i processi di distribuzione per un dispositivo principale. Sostituisci {{coreDeviceName}} con il nome del dispositivo principale da interrogare.

  ```
  aws greengrassv2 list-effective-deployments --core-device-thing-name {{coreDeviceName}}
  ```

  La risposta contiene l'elenco dei processi di distribuzione per il dispositivo principale. È possibile identificare il job per una distribuzione tramite il simbolo o del `deploymentId` job. `targetArn` Ogni processo di distribuzione contiene lo stato del processo sul dispositivo principale.

**Per verificare gli stati di distribuzione di un gruppo di oggetti (AWS CLI)**

1. Esegui il comando seguente per recuperare l'ID di una distribuzione esistente. Sostituisci {{targetArn}} con l'ARN del gruppo di oggetti di destinazione.

   ```
   aws greengrassv2 list-deployments --target-arn {{targetArn}}
   ```

   La risposta contiene un elenco con l'ultima distribuzione per la destinazione. Copia il file `deploymentId` dalla risposta per utilizzarlo nel passaggio successivo.
**Nota**  
È inoltre possibile elencare una distribuzione diversa da quella più recente per la destinazione. Specifica l'`--history-filter ALL`argomento per elencare tutte le distribuzioni per la destinazione. Quindi, copia l'ID della distribuzione di cui desideri verificare lo stato.

1. Esegui il comando seguente per ottenere i dettagli della distribuzione. Sostituisci {{deploymentID}} con l'ID del passaggio precedente.

   ```
   aws greengrassv2 get-deployment --deployment-id {{deploymentId}}
   ```

   La risposta contiene informazioni sulla distribuzione. Copia il file `iotJobId` dalla risposta per utilizzarlo nel passaggio successivo.

1. Esegui il comando seguente per descrivere l'esecuzione del job di un dispositivo principale per la distribuzione. Sostituisci {{iotJobId}} and {{coreDeviceThingName}} con l'ID del lavoro del passaggio precedente e il dispositivo principale di cui desideri verificare lo stato.

   ```
   aws iot describe-job-execution --job-id {{iotJobId}} --thing-name {{coreDeviceThingName}}
   ```

   La risposta contiene lo stato di esecuzione del processo di distribuzione del dispositivo principale e dettagli sullo stato. `detailsMap`Contiene le seguenti informazioni:
   + `detailed-deployment-status`— Lo stato del risultato della distribuzione, che può corrispondere a uno dei seguenti valori:
     + `SUCCESSFUL`— La distribuzione è riuscita.
     + `FAILED_NO_STATE_CHANGE`— La distribuzione non è riuscita mentre il dispositivo principale si preparava ad applicare la distribuzione.
     + `FAILED_ROLLBACK_NOT_REQUESTED`— La distribuzione non è riuscita e non è stato specificato di ripristinare una configurazione funzionante precedente, quindi il dispositivo principale potrebbe non funzionare correttamente.
     + `FAILED_ROLLBACK_COMPLETE`— La distribuzione non è riuscita e il dispositivo principale è tornato correttamente a una precedente configurazione funzionante.
     + `FAILED_UNABLE_TO_ROLLBACK`— La distribuzione non è riuscita e il dispositivo principale non è riuscito a ripristinare una configurazione funzionante precedente, quindi il dispositivo principale potrebbe non funzionare correttamente.
**Nota**  
Il software AWS IoT Greengrass principale ignora la politica di gestione degli errori per le distribuzioni bootstrap. Una distribuzione bootstrap aggiorna la versione Greengrass nucleus o include un componente con una fase del ciclo di vita del bootstrap. [](component-recipe-reference.md#bootstrap-lifecycle-definition) Queste implementazioni si annullano sempre in caso di errore e segnalano o. `FAILED_ROLLBACK_COMPLETE` `FAILED_UNABLE_TO_ROLLBACK` Per ulteriori informazioni, consulta [Creare distribuzione](create-deployments.md).

     Se la distribuzione non è riuscita, controlla il `deployment-failure-cause` valore e i file di registro del dispositivo principale per identificare il problema. Per ulteriori informazioni su come accedere ai file di registro del dispositivo principale, consulta[Monitora AWS IoT Greengrass i registri](monitor-logs.md).
   + `deployment-failure-cause`— Un messaggio di errore che fornisce ulteriori dettagli sul motivo per cui l'esecuzione del processo non è riuscita.

   La risposta è simile all'esempio seguente.

   ```
   {
     "execution": {
       "jobId": "2cc2698a-5175-48bb-adf2-1dd345606ebd",
       "status": "FAILED",
       "statusDetails": {
         "detailsMap": {
           "deployment-failure-cause": "No local or cloud component version satisfies the requirements. Check whether the version constraints conflict and that the component exists in your Account AWS with a version that matches the version constraints. If the version constraints conflict, revise deployments to resolve the conflict. Component com.example.HelloWorld version constraints: LOCAL_DEPLOYMENT requires =1.0.0, thinggroup/MyGreengrassCoreGroup requires =1.0.1.",
           "detailed-deployment-status": "FAILED_NO_STATE_CHANGE"
         }
       },
       "thingArn": "arn:aws:iot:us-west-2:123456789012:thing/MyGreengrassCore",
       "queuedAt": "2022-02-15T14:45:53.098000-08:00",
       "startedAt": "2022-02-15T14:46:05.670000-08:00",
       "lastUpdatedAt": "2022-02-15T14:46:20.892000-08:00",
       "executionNumber": 1,
       "versionNumber": 3
     }
   }
   ```