

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
<a name="check-deployment-status"></a>

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 es`IN_PROGRESS`. Tras crear una nueva revisión de una implementación, el estado del AWS IoT trabajo de la revisión anterior cambia a`CANCELLED`.

**Topics**
+ [Comprobación del estado de la implementación](#check-cloud-deployment-status)
+ [Comprobación del estado de la implementación del dispositivo](#check-device-deployment-status)

## Comprobación del estado de la implementación
<a name="check-cloud-deployment-status"></a>

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. {{targetArn}}Sustitú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
<a name="check-device-deployment-status"></a>

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. {{targetArn}}Sustitú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.

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

1. 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. [](component-recipe-reference.md#bootstrap-lifecycle-definition) 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](create-deployments.md).

     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](monitor-logs.md).
   + `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
     }
   }
   ```