Comprobación del estado de la implementación - AWS IoT Greengrass

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Comprobación del estado de la implementación

Puede comprobar el estado de una implementación que ha creado en AWS IoT Greengrass. También puede comprobar el estado de los AWS IoT trabajos que implementan la implementación en cada dispositivo principal. Mientras una implementación está activa, el estado de la AWS IoT tarea esIN_PROGRESS. Tras crear una nueva revisión de un despliegue, el estado del AWS IoT trabajo de la revisión anterior cambia aCANCELLED.

Comprobación del estado de la implementación

Puede comprobar el estado de una implementación que identifique por su objetivo o su ID.

Comprobación del estado de la implementación por destino (AWS CLI)
  • Ejecute el siguiente comando para recuperar el estado de la implementación más reciente por destino. targetArnSustitúyalo por el nombre de recurso de Amazon (ARN) de la AWS IoT cosa o el grupo de cosas a los que se dirige la implementación.

    aws greengrassv2 list-deployments --target-arn targetArn

    La respuesta contiene una lista con la implementación más reciente del objetivo. Este objeto de implementación incluye el estado de la implementación.

Comprobación del estado de la implementación por ID (AWS CLI)
  • Ejecute el siguiente comando para recuperar el estado de la implementación. Reemplace deploymentId por el ID de la implementación que va a consultar.

    aws greengrassv2 get-deployment --deployment-id deploymentId

    La respuesta contiene el estado de la implementación.

Comprobación del estado de la implementación del dispositivo

Puede comprobar el estado de un trabajo de implementación que se aplica a un dispositivo principal individual. También puede comprobar el estado de un trabajo de implementación para la implementación de un grupo de objetos.

Comprobación de los estados del trabajo de implementación de un dispositivo principal (AWS CLI)
  • Ejecute el siguiente comando para recuperar el estado de todos los trabajos de implementación para un dispositivo principal. Reemplace coreDeviceName por el nombre del dispositivo principal que se va a consultar.

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

    La respuesta contiene la lista de trabajos de implementación para el dispositivo principal. Puede identificar el trabajo de una implementación por el deploymentId o targetArn del trabajo. Cada trabajo de implementación contiene el estado del trabajo en el dispositivo principal.

Comprobación de los estados de implementación de un grupo de objetos (AWS CLI)
  1. Ejecute el siguiente comando para recuperar el ID de una implementación existente. targetArnSustitúyalo por el ARN del grupo de cosas objetivo.

    aws greengrassv2 list-deployments --target-arn targetArn

    La respuesta contiene una lista con la implementación más reciente del objetivo. Copie el deploymentId de la respuesta para usarlo en el siguiente paso.

    nota

    También puede enumerar una implementación que no sea la implementación más reciente del destino. Especifique el argumento --history-filter ALL para enumerar todas las implementaciones del destino. A continuación, copie el ID de la implementación cuyo estado desea comprobar.

  2. Ejecute el siguiente comando para obtener los detalles de la implementación. Sustituya deploymentID por el ID de la tarea del paso anterior.

    aws greengrassv2 get-deployment --deployment-id deploymentId

    La respuesta contiene información sobre la implementación. Copie el iotJobId de la respuesta para usarlo en el siguiente paso.

  3. Ejecute el siguiente comando para describir la ejecución del trabajo de un dispositivo principal para la implementación. Sustituya iotJobId y coreDeviceThingName por el identificador de trabajo del paso anterior y el dispositivo principal cuyo estado desee comprobar.

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

    La respuesta contiene el estado de la ejecución del trabajo de implementación del dispositivo principal y detalles sobre el estado. El detailsMap contiene la siguiente información:

    • detailed-deployment-status: el estado del resultado de la implementación, que puede ser uno de los siguientes valores:

      • SUCCESSFUL: la implementación se realizó correctamente.

      • FAILED_NO_STATE_CHANGE: la implementación falló mientras el dispositivo principal se preparaba para aplicarla.

      • FAILED_ROLLBACK_NOT_REQUESTED: la implementación falló y esta no especificó volver a una configuración de trabajo anterior, por lo que es posible que el dispositivo principal no funcione correctamente.

      • FAILED_ROLLBACK_COMPLETE: la implementación falló y el dispositivo principal se restableció correctamente a una configuración de trabajo anterior.

      • FAILED_UNABLE_TO_ROLLBACK: la implementación falló y el dispositivo principal no pudo volver a una configuración de trabajo anterior, por lo que es posible que el dispositivo principal no funcione correctamente.

      Si la implementación falló, compruebe el valor deployment-failure-cause y los archivos de registro del dispositivo principal para identificar el problema. Para obtener más información sobre cómo acceder a los archivos de registro del dispositivo principal, consulte Supervise AWS IoT Greengrass los registros.

    • deployment-failure-cause: un mensaje de error que proporciona detalles adicionales sobre el motivo por el que se ha producido un error en la ejecución del trabajo.

    La respuesta tiene un aspecto similar a la del siguiente ejemplo.

    { "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 Cuenta de 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 } }