View a markdown version of this page

Vérifier l'état du déploiement - AWS IoT Greengrass

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Vérifier l'état du déploiement

Vous pouvez vérifier l'état d'un déploiement que vous créez dans AWS IoT Greengrass. Vous pouvez également vérifier l'état des AWS IoT tâches qui déploient le déploiement sur chaque appareil principal. Lorsqu'un déploiement est actif, le statut de la AWS IoT tâche l'estIN_PROGRESS. Une fois que vous avez créé une nouvelle révision d'un déploiement, le statut de la AWS IoT tâche de la révision précédente passe àCANCELLED.

Vérifier l'état du déploiement

Vous pouvez vérifier l'état d'un déploiement que vous identifiez par sa cible ou son ID.

Pour vérifier l'état du déploiement par cible (AWS CLI)
  • Exécutez la commande suivante pour récupérer l'état du dernier déploiement d'une cible. Remplacez-le targetArn par l'Amazon Resource Name (ARN) de l' AWS IoT objet ou du groupe d'objets que le déploiement cible.

    aws greengrassv2 list-deployments --target-arn targetArn

    La réponse contient une liste avec le dernier déploiement pour la cible. Cet objet de déploiement inclut l'état du déploiement.

Pour vérifier l'état du déploiement par ID (AWS CLI)
  • Exécutez la commande suivante pour récupérer l'état d'un déploiement. deploymentIdRemplacez-le par l'ID du déploiement à interroger.

    aws greengrassv2 get-deployment --deployment-id deploymentId

    La réponse contient l'état du déploiement.

Vérifier l'état de déploiement de l'appareil

Vous pouvez vérifier l'état d'une tâche de déploiement qui s'applique à un périphérique principal individuel. Vous pouvez également vérifier l'état d'une tâche de déploiement pour un déploiement de groupe d'objets.

Pour vérifier l'état des tâches de déploiement pour un appareil principal (AWS CLI)
  • Exécutez la commande suivante pour récupérer l'état de toutes les tâches de déploiement pour un périphérique principal. coreDeviceNameRemplacez-le par le nom du périphérique principal à interroger.

    aws greengrassv2 list-effective-deployments --core-device-thing-name coreDeviceName

    La réponse contient la liste des tâches de déploiement pour le périphérique principal. Vous pouvez identifier la tâche à déployer à l'aide de la fonction deploymentId outargetArn. Chaque tâche de déploiement contient l'état de la tâche sur le périphérique principal.

Pour vérifier l'état de déploiement d'un groupe d'objets (AWS CLI)
  1. Exécutez la commande suivante pour récupérer l'ID d'un déploiement existant. Remplacez targetArn par l'ARN du groupe d'objets cible.

    aws greengrassv2 list-deployments --target-arn targetArn

    La réponse contient une liste avec le dernier déploiement pour la cible. Copiez l'deploymentIdextrait de la réponse pour l'utiliser à l'étape suivante.

    Note

    Vous pouvez également répertorier un déploiement autre que le dernier déploiement pour la cible. Spécifiez l'--history-filter ALLargument pour répertorier tous les déploiements pour la cible. Copiez ensuite l'ID du déploiement dont vous souhaitez vérifier l'état.

  2. Exécutez la commande suivante pour obtenir les détails du déploiement. deploymentIDRemplacez-le par l'identifiant de l'étape précédente.

    aws greengrassv2 get-deployment --deployment-id deploymentId

    La réponse contient des informations sur le déploiement. Copiez le iotJobId contenu de la réponse à utiliser à l'étape suivante.

  3. Exécutez la commande suivante pour décrire l'exécution des tâches d'un périphérique principal pour le déploiement. Remplacez iotJobId et coreDeviceThingName par l'ID de tâche de l'étape précédente et le périphérique principal dont vous souhaitez vérifier l'état.

    aws iot describe-job-execution --job-id iotJobId --thing-name coreDeviceThingName

    La réponse contient l'état de l'exécution de la tâche de déploiement de l'appareil principal et des détails sur cet état. detailsMapIl contient les informations suivantes :

    • detailed-deployment-status— L'état du résultat du déploiement, qui peut prendre l'une des valeurs suivantes :

      • SUCCESSFUL— Le déploiement a réussi.

      • FAILED_NO_STATE_CHANGE— Le déploiement a échoué alors que l'appareil principal se préparait à appliquer le déploiement.

      • FAILED_ROLLBACK_NOT_REQUESTED— Le déploiement a échoué et le déploiement n'a pas spécifié de revenir à une configuration fonctionnelle précédente, de sorte que le périphérique principal ne fonctionne peut-être pas correctement.

      • FAILED_ROLLBACK_COMPLETE— Le déploiement a échoué et le périphérique principal est revenu à sa configuration de travail précédente avec succès.

      • FAILED_UNABLE_TO_ROLLBACK— Le déploiement a échoué et le périphérique principal n'a pas pu revenir à une configuration fonctionnelle précédente, de sorte que le périphérique principal ne fonctionne peut-être pas correctement.

      Note

      Le logiciel AWS IoT Greengrass Core ignore la politique de gestion des défaillances pour les déploiements bootstrap. Un déploiement bootstrap met à jour la version du noyau de Greengrass ou inclut un composant comportant une étape du cycle de vie du bootstrap. Ces déploiements sont toujours annulés en cas d'échec et signalent FAILED_ROLLBACK_COMPLETE ouFAILED_UNABLE_TO_ROLLBACK. Pour de plus amples informations, veuillez consulter Créer des déploiements.

      Si le déploiement a échoué, vérifiez la deployment-failure-cause valeur et les fichiers journaux du périphérique principal pour identifier le problème. Pour plus d'informations sur l'accès aux fichiers journaux du périphérique principal, consultezAWS IoT Greengrass Journaux de surveillance.

    • deployment-failure-cause— Message d'erreur fournissant des informations supplémentaires sur les raisons pour lesquelles l'exécution de la tâche a échoué.

    La réponse ressemble à l'exemple suivant.

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