View a markdown version of this page

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 puedes comprobar el estado de las AWS IoT tareas 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 una implementación, 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.

Para comprobar el 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 grupo de cosas a la que va dirigida 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.

Para comprobar el 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.

Para comprobar el estado de las tareas 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.

Para comprobar los estados de implementación de un grupo de cosas (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 de destino.

    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 ID de la tarea del paso anterior y el del dispositivo principal cuyo estado desea 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.

      nota

      El software AWS IoT Greengrass Core ignora la política de gestión de errores para las implementaciones de arranque. Una implementación de arranque actualiza la versión del núcleo de Greengrass o incluye un componente con un paso del ciclo de vida de arranque. Estas implementaciones siempre se revierten en caso de error e informan de o. FAILED_ROLLBACK_COMPLETE FAILED_UNABLE_TO_ROLLBACK Para obtener más información, consulte Crear implementaciones.

      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 Supervisión de los registros de AWS IoT Greengrass.

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