Controllo dello stato di implementazione - AWS IoT Greengrass

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

Controllo dello stato di implementazione

Puoi controllare lo stato di una implementazione in cui lo creiAWS IoT Greengrass. Puoi anche controllare lo stato deiAWS IoT processi che eseguono l'implementazione su ciascun dispositivo principale. Quando una distribuzione è attiva, lo stato delAWS IoT job èIN_PROGRESS. Dopo aver creato una nuova revisione di una distribuzione, lo stato delAWS IoT job della revisione precedente cambia inCANCELLED.

Controllo dello stato di implementazione

È 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)
  • Eseguire il comando seguente per recuperare lo stato della implementazione più recente per un destinazioni. Sostituisci targetArn con l'Amazon Resource Name (ARN) dell'AWS IoToggetto o del gruppo di cose di destinazioni di implementazione.

    aws greengrassv2 list-deployments --target-arn targetArn

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

Per verificare lo stato della distribuzione in base all'ID (AWS CLI)
  • Eseguire il comando seguente per recuperare lo stato di una implementazione. 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

È possibile controllare lo stato di un processo di implementazione che si applica a un singolo dispositivo di core. Puoi anche controllare lo stato di un processo di distribuzione per una distribuzione di un gruppo di oggetti.

Per verificare lo stato dei processi di distribuzione per un dispositivo principale (AWS CLI)
  • Eseguire il comando seguente per recuperare lo stato di tutti i processo di implementazione per un dispositivo di core. Sostituisci coreDeviceNamecon 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 lavoro da distribuire in base al processodeploymentId otargetArn. Ogni processo di implementazione contiene lo stato del processo sul dispositivo di core.

Per verificare gli stati di distribuzione di un gruppo di oggetti (AWS CLI)
  1. Eseguire il comando seguente per recuperare l'ID di una implementazione esistente. Sostituisci targetArn con l'ARN del gruppo di destinazioni.

    aws greengrassv2 list-deployments --target-arn targetArn

    La risposta contiene un elenco con l'ultima distribuzione per l'obiettivo. Copia ildeploymentId dalla risposta per utilizzarlo nel passaggio successivo.

    Nota

    Puoi anche elencare una distribuzione diversa dalla distribuzione più recente per la destinazione. Specifica l'--history-filter ALLargomento per elencare tutte le distribuzioni per la destinazione. Quindi, copia l'ID della distribuzione di cui desideri verificare lo stato.

  2. Eseguire il comando seguente per ottenere i dettagli della implementazione. Sostituisci DeploymentID con l'ID della fase precedente.

    aws greengrassv2 get-deployment --deployment-id deploymentId

    La risposta contiene informazioni sulla implementazione. Copia il fileiotJobId dalla risposta per utilizzarlo nel passaggio successivo.

  3. Esegui il comando seguente per descrivere l'esecuzione del job di un dispositivo principale per la distribuzione. Sostituisci iotJobIde assegna un coreDeviceThingnome con l'ID del lavoro indicato nel 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 dell'esecuzione del processo di distribuzione del dispositivo principale e dettagli sullo stato. detailsMapContiene le seguenti informazioni:

    • detailed-deployment-status— Lo stato di implementazione, che può avere 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 ha specificato di tornare a una configurazione funzionante precedente, quindi il dispositivo principale potrebbe non funzionare correttamente.

      • FAILED_ROLLBACK_COMPLETE— L'implementazione non è riuscita e il dispositivo principale è stato ripristinato con successo a una configurazione funzionante precedente.

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

      Se la distribuzione non è riuscita, controlla ildeployment-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 di core, consultareMonitora AWS IoT Greengrass i registri.

    • deployment-failure-cause— Un messaggio di errore che fornisce ulteriori dettagli sul motivo per cui l'esecuzione del job 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 } }