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 est le suivantIN_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 pour une cible. targetArnRemplacez-le par le Amazon Resource Name (ARN) de l' AWS IoT objet ou du groupe d'objets ciblé par le déploiement.

    aws greengrassv2 list-deployments --target-arn targetArn

    La réponse contient une liste du 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. Remplacez deploymentId 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 le déploiement d'un groupe d'objets.

Pour vérifier l'état des tâches de déploiement pour un périphérique 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. Remplacez coreDeviceName 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 les statuts 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 du dernier déploiement pour la cible. Copiez le deploymentId contenu 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'ID 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 de la tâche 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 du périphérique 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 le périphérique principal se préparait à effectuer 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 de travail précédente. Le périphérique principal ne fonctionne donc peut-être pas correctement.

      • FAILED_ROLLBACK_COMPLETE— Le déploiement a échoué et le périphérique principal a réussi à revenir à une configuration de travail précédente.

      • 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. Il se peut donc que le périphérique principal ne fonctionne pas correctement.

      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 la façon d'accéder 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 } }