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.
Creación de subimplementaciones
nota
La característica de subimplementación 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 característica, 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 información sobre cómo crear implementaciones, consulte Crear implementaciones.
Creación de una subimplementación (AWS CLI)
-
Ejecute el siguiente comando para recuperar las últimas implementaciones de un grupo de objetos. Reemplace el ARN del comando por el ARN del grupo de objetos que se va a consultar. Configure
en--history-filterLATEST_ONLYpara ver la última implementación de ese grupo de objetos.aws greengrassv2 list-deployments--target-arnarn:aws:iot:region:account-id:thinggroup/thingGroupName--history-filterLATEST_ONLY -
Copie el
deploymentIdde la respuesta al comando list-deployments para usarlo en el siguiente paso. -
Ejecute el siguiente comando para recuperar el estado de la implementación. Reemplace
por el ID de la implementación que va a consultar.deploymentIdaws greengrassv2 get-deployment--deployment-iddeploymentId -
Copie el
iotJobIdde la respuesta al comando get-deployment para usarlo en el siguiente paso. -
Ejecute el siguiente comando para recuperar la lista de ejecuciones de un trabajo especificado.
jobIDSustitúyala por laiotJobIddel paso anterior.statusReemplácelo por 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-idjobID--statusstatus -
-
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 objetos se usan para administrar las flotas de dispositivos principales de Greengrass. Al implementar componentes de software en sus dispositivos, puede dirigirse a dispositivos individuales o a grupos de dispositivos. Puede agregar un dispositivo a un grupo de objetos con una implementación activa de Greengrass. Una vez agregado, puede implementar los componentes de software de ese grupo de objetos en ese dispositivo.
Para crear un nuevo grupo de objetos y agregarle sus dispositivos, haga lo siguiente:
-
Crea un grupo de AWS IoT cosas.
MyGreengrassCoreGroupSustitúyalo por el nombre del nuevo grupo de cosas. No puede usar dos puntos (:) en el nombre de un grupo de objetos.nota
Si un grupo de objetos de una subimplementación se usa con un
parentTargetArn, no se puede reutilizar con una flota principal diferente. Si un grupo de objetos ya se ha usado para crear una subimplementación para otra flota, la API devolverá un error.aws iot create-thing-group--thing-group-nameMyGreengrassCoreGroupSi la solicitud se realiza correctamente, la respuesta tiene un aspecto similar al del siguiente ejemplo:
{ "thingGroupName": "MyGreengrassCoreGroup", "thingGroupArn": "arn:aws:iot:us-west-2:123456789012:thinggroup/MyGreengrassCoreGroup", "thingGroupId": "4df721e1-ff9f-4f97-92dd-02db4e3f03aa" } -
Agregue un núcleo de Greengrass aprovisionado a su grupo de objetos. Ejecute el siguiente comando con estos parámetros:
-
MyGreengrassCoreSustitúyalo por el nombre del núcleo de Greengrass aprovisionado. -
MyGreengrassCoreGroupSustitúyalo por el nombre de su grupo de cosas.
aws iot add-thing-to-thing-group--thing-nameMyGreengrassCore--thing-group-nameMyGreengrassCoreGroupEl comando no tiene ningún resultado si la solicitud se realiza correctamente.
-
-
-
Cree un archivo llamado
deployment.jsony, a continuación, copie el siguiente objeto JSON en el archivo.targetArnSustitúyalo por el ARN del grupo de AWS IoT cosas al que se dirige la subimplementación. Un objetivo de subimplementación solo puede ser un grupo de objetos. Los grupos de cosas ARNs tienen el siguiente formato:-
Grupo de objetos:
arn:aws:iot:region:account-id:thinggroup/thingGroupName
{ "targetArn": "targetArn" } -
-
Ejecute el siguiente comando nuevamente para obtener los detalles originales de la implementación. Estos detalles incluyen los metadatos, los componentes y la configuración del trabajo.
deploymentIdSustitúyalo por el ID dePaso 1. Puede usar esta configuración de implementación para configurar su subimplementación y realizar los cambios necesarios.aws greengrassv2 get-deployment--deployment-iddeploymentIdLa respuesta contiene los detalles de la implementación. Copie cualquiera de los siguientes pares clave-valor de la respuesta del comando get-deployment en
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 de la implementación.
-
-
Ejecute el siguiente comando para crear la subimplementación desde
deployment.json.subdeploymentNameSustitúyalo por un nombre para la subimplementación.aws greengrassv2 create-deployment--deployment-namesubdeploymentName--cli-input-jsonfile://deployment.jsonLa respuesta incluye un
deploymentIdque identifica esta subimplementación. Puede usar el ID de la implementación para comprobar el estado de la implementación. 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 el
deployment.jsonque usó en el paso anterior. Reemplace eltargetArndel 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 implementación de la flota principal, reemplaza a todas las revisiones y subimplementaciones de la implementación principal. Para obtener más información, consulte Revisar implementaciones.
aws greengrassv2 create-deployment--cli-input-jsonfile://deployment.jsonLa respuesta incluye un
deploymentIdque identifica esta implementación. Puede usar el ID de la implementación para comprobar el estado de la implementación. Para obtener más información, consulte Comprobación del estado de la implementación.