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.
Crear subdespliegues
nota
La función de subdespliegue está disponible en la versión 2.9.0 y posteriores del núcleo de Greengrass. No es posible implementar una configuración en una subimplementación con versiones de componentes anteriores del núcleo de Greengrass.
Una subimplementación es una implementación que se dirige a un subconjunto más pequeño de dispositivos dentro de una implementación principal. Puede usar las subimplementaciones para implementar una configuración en un subconjunto más pequeño de dispositivos. También puede crear subimplementaciones para volver a intentar una implementación principal que no funciona cuando fallan uno o más dispositivos de esa implementación principal. Con esta función, puede seleccionar los dispositivos que fallaron en esa implementación principal y crear una subimplementación para probar las configuraciones hasta que la subimplementación se realice correctamente. Una vez que la subimplementación se haya realizado correctamente, puede volver a implementar esa configuración en la implementación principal.
Siga los pasos de esta sección para crear una subimplementación y comprobar su estado. Para obtener más información sobre cómo crear despliegues, consulte Crear despliegues.
Para crear una subimplementación () AWS CLI
-
Ejecute el siguiente comando para recuperar las últimas implementaciones de un grupo de cosas. Sustituya el ARN del comando por el ARN del grupo de cosas que se va a consultar.
--history-filter
LATEST_ONLY
Configúrelo para ver la última implementación de ese grupo de cosas.aws greengrassv2 list-deployments
--target-arn
arn:aws:iot:region
:account-id
:thinggroup/thingGroupName
--history-filter
LATEST_ONLY
-
Copia el fragmento
deploymentId
de la respuesta al list-deployments comando para usarlo en el siguiente paso. -
Ejecute el siguiente comando para recuperar el estado de una implementación.
Sustitúyalo por el ID de la implementación que se va a consultar.deploymentId
aws greengrassv2 get-deployment
--deployment-id
deploymentId
-
Copie el
iotJobId
de la respuesta al get-deployment comando para usarlo en el siguiente paso. -
Ejecute el siguiente comando para recuperar la lista de ejecuciones de tareas para la tarea especificada. Sustituya
JobID por
eliotJobId
del paso anterior.Sustituya el estado por el que desee filtrar.
Puede filtrar los resultados con los siguientes estados:-
QUEUED
-
IN_PROGRESS
-
SUCCEEDED
-
FAILED
-
TIMED_OUT
-
REJECTED
-
REMOVED
-
CANCELED
aws iot list-job-executions-for-job
--job-id
jobID
--status
status
-
-
Cree un grupo de AWS IoT cosas nuevo o utilice un grupo de cosas existente para la subimplementación. A continuación, añada un AWS IoT elemento a este grupo de elementos. Los grupos de cosas se utilizan para gestionar las flotas de los dispositivos principales de Greengrass. Al implementar componentes de software en sus dispositivos, puede dirigirlos a dispositivos individuales o a grupos de dispositivos. Puede añadir un dispositivo a un grupo de cosas con una implementación activa de Greengrass. Una vez agregado, puede implementar los componentes de software de ese grupo de cosas en ese dispositivo.
Para crear un nuevo grupo de cosas y añadirle tus dispositivos, haz lo siguiente:
-
Crea un grupo de AWS IoT cosas.
MyGreengrassCoreGroup
Sustitúyalo por el nombre del nuevo grupo de cosas. No se pueden usar dos puntos (:)) en el nombre de un grupo de cosas.nota
Si un grupo de cosas de un subdespliegue se usa con uno
parentTargetArn
, no se puede reutilizar con una flota principal diferente. Si un grupo de cosas ya se ha utilizado para crear un subdespliegue para otra flota, la API devolverá un error.aws iot create-thing-group
--thing-group-name
MyGreengrassCoreGroup
Si la solicitud se realiza correctamente, la respuesta es similar a la del siguiente ejemplo:
{ "thingGroupName": "MyGreengrassCoreGroup", "thingGroupArn": "arn:aws:iot:us-west-2:123456789012:thinggroup/
MyGreengrassCoreGroup
", "thingGroupId": "4df721e1-ff9f-4f97-92dd-02db4e3f03aa" } -
Añada un núcleo de Greengrass aprovisionado a su grupo de cosas. Ejecute el siguiente comando con estos parámetros:
-
MyGreengrassCore
Sustitúyalo por el nombre del núcleo de Greengrass aprovisionado. -
MyGreengrassCoreGroup
Sustitúyalo por el nombre de su grupo de cosas.
aws iot add-thing-to-thing-group
--thing-name
MyGreengrassCore
--thing-group-name
MyGreengrassCoreGroup
El comando no tiene ningún resultado si la solicitud se realiza correctamente.
-
-
-
Cree un archivo llamado y
deployment.json
, a continuación, copie el siguiente objeto JSON en el archivo. SustituyaTargetARN
por el ARN del grupo de cosas al que apuntar AWS IoT la subimplementación. Un objetivo de subdespliegue solo puede ser un grupo de cosas. Los ARN de los grupos de cosas tienen el siguiente formato:-
Grupo de cosas:
arn:aws:iot:
region
:account-id
:thinggroup/thingGroupName
{ "targetArn": "
targetArn
" } -
-
Vuelva a ejecutar el siguiente comando para obtener los detalles de la implementación original. Estos detalles incluyen los metadatos, los componentes y la configuración del trabajo. Sustituya
DeploymentiD
por el ID de. Paso 1 Puede usar esta configuración de despliegue para configurar su subdespliegue y realizar los cambios necesarios.aws greengrassv2 get-deployment
--deployment-id
deploymentId
La respuesta contiene los detalles de la implementación. Copie cualquiera de los siguientes pares clave-valor de la respuesta del get-deployment comando a.
deployment.json
Puede cambiar estos valores para la subimplementación. Para obtener más información sobre los detalles de este comando, consulte GetDeployment.-
components
— Los componentes de la implementación. Para desinstalar un componente, elimínelo de este objeto. -
deploymentName
— El nombre de la implementación. -
deploymentPolicies
— Las políticas de la implementación. -
iotJobConfiguration
— La configuración del trabajo de la implementación. -
parentTargetArn
— El objetivo de la implementación principal. -
tags
— Las etiquetas del despliegue.
-
-
Ejecute el siguiente comando para crear la subimplementación desde
deployment.json
. SustituyasubDeploymentName por un nombre
para la subimplementación.aws greengrassv2 create-deployment
--deployment-name
subdeploymentName
--cli-input-json
file://deployment.jsonLa respuesta incluye un
deploymentId
que identifica esta subimplementación. Puede usar el ID de despliegue para comprobar el estado del despliegue. Para obtener más información, consulte Comprobar el estado de la implementación. -
Si la subimplementación se realiza correctamente, puede usar su configuración para revisar la implementación principal. Copie la
deployment.json
que utilizó en el paso anterior. SustituyatargetArn
el del archivo JSON por el ARN de la implementación principal y ejecute el siguiente comando para crear la implementación principal con esta nueva configuración.nota
Si crea una nueva revisión de despliegue de la flota principal, sustituirá a todas las revisiones y subdespliegues del despliegue principal. Para obtener más información, consulte Revisar las implementaciones.
aws greengrassv2 create-deployment
--cli-input-json
file://deployment.jsonLa respuesta incluye una
deploymentId
que identifica esta implementación. Puede usar el ID de implementación para comprobar el estado de la implementación. Para obtener más información, consulte Verificar el estado de implementación.