Implemente AWS IoT Greengrass componentes en los dispositivos - 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.

Implemente AWS IoT Greengrass componentes en los dispositivos

Puede utilizarlos AWS IoT Greengrass para implementar componentes en dispositivos o grupos de dispositivos. Las implementaciones se utilizan para definir los componentes y las configuraciones que se envían a los dispositivos. AWS IoT Greengrassse despliega en objetivos, AWS IoT cosas o grupos de cosas que representan los dispositivos principales de Greengrass. AWS IoT Greengrassutiliza AWS IoT Coretareas para implementarlas en sus dispositivos principales. Puede configurar la forma en que se implementará el trabajo en sus dispositivos.

Implementaciones de dispositivos principales

Cada dispositivo principal ejecuta los componentes de las implementaciones de ese dispositivo. Una nueva implementación en el mismo destino sobrescribe la implementación anterior en el destino. Al crear una implementación, se definen los componentes y las configuraciones que se van a aplicar al software existente del dispositivo principal.

Al revisar una implementación para un objetivo, se sustituyen los componentes de la revisión anterior por los componentes de la nueva revisión. Por ejemplo, se despliegan los Gestor secreto componentes Gestor de registros y en el grupo de cosasTestGroup. A continuación, se crea otra implementación para la TestGroup que se especifique únicamente el componente del administrador secreto. Como resultado, los dispositivos principales de ese grupo ya no ejecutan el administrador de registros.

Resolución de la dependencia de la plataforma

Cuando un dispositivo principal recibe una implementación, comprueba que los componentes son compatibles con el dispositivo principal. Por ejemplo, si lo implementa en Firehose un destino de Windows, la implementación fallará.

Resolución de dependencias de componentes

El dispositivo principal también comprueba si las dependencias de cada componente son compatibles con las restricciones de versión para las implementaciones de otros componentes en este grupo. Cuando las restricciones de versión de un componente se superponen, Greengrass utiliza la versión más alta aplicable del componente. Por ejemplo:

  • El componente A se implementa en. TestGroup El componente A depende de com.example.PythonRuntime las versiones 3.5 a 3.10 del componente.

  • A continuación, despliega el componente B enTestGroup. El componente B depende de com.example.PythonRuntime las versiones 3.7 a 3.8 del componente.

Como resultado, los dispositivos principales TestGroup determinan que pueden implementar la versión 3.8 del com.example.PythonRuntime componente, ya que esta es la versión más aplicable, donde las restricciones de versión se superponen.

Dependencias de componentes, por ejemplo, componentes.

A continuación, despliega el componente C enTestGroup. El componente C depende de com.example.PythonRuntime las versiones 2.6 a 2.7 del componente. Esta implementación falla porque no hay ninguna versión del componente que cumpla con las restricciones 2.6 a 2.7 y 3.7 a 3.8.

Dependencias de componentes que provocan una implementación fallida.

Eliminar un dispositivo de un grupo de cosas

Al eliminar un dispositivo principal de un grupo de cosas, el comportamiento de despliegue de los componentes depende de la versión del núcleo de Greengrass que ejecute el dispositivo principal.

2.5.1 and later

Al eliminar un dispositivo principal de un grupo de cosas, el comportamiento depende de si la AWS IoT política concede el greengrass:ListThingGroupsForCoreDevice permiso. Para obtener más información sobre este permiso y AWS IoT las políticas para los dispositivos principales, consulteAutenticación y autorización de dispositivos en AWS IoT Greengrass.

  • Si la AWS IoT política concede este permiso

    Al eliminar un dispositivo principal de un grupo de cosas, se AWS IoT Greengrass eliminan los componentes del grupo de cosas la próxima vez que se realice una implementación en el dispositivo. Si un componente del dispositivo se incluye en la siguiente implementación, ese componente no se elimina del dispositivo.

  • Si la AWS IoT política no concede este permiso

    Cuando se elimina un dispositivo principal de un grupo de cosas, AWS IoT Greengrass no se eliminan los componentes de ese grupo de cosas del dispositivo.

    Para eliminar un componente de un dispositivo, utilice el comando deployment create de la CLI de Greengrass. Especifique el componente que desea eliminar con el --remove argumento y especifique el grupo de cosas con el --groupId argumento.

2.5.0

Cuando se elimina un dispositivo principal de un grupo de cosas, se AWS IoT Greengrass eliminan los componentes del grupo de cosas la próxima vez que se realice un despliegue en el dispositivo. Si un componente del dispositivo se incluye en la siguiente implementación, ese componente no se elimina del dispositivo.

Este comportamiento requiere que la AWS IoT política del dispositivo principal conceda el greengrass:ListThingGroupsForCoreDevice permiso. Si un dispositivo principal no tiene este permiso, no podrá aplicar las implementaciones. Para obtener más información, consulte Autenticación y autorización de dispositivos en AWS IoT Greengrass.

2.0.x - 2.4.x

Cuando se elimina un dispositivo principal de un grupo de cosas, AWS IoT Greengrass no se eliminan los componentes de ese grupo de cosas del dispositivo.

Para eliminar un componente de un dispositivo, utilice el comando deployment create de la CLI de Greengrass. Especifique el componente que desea eliminar con el --remove argumento y especifique el grupo de cosas con el --groupId argumento.

Implementaciones

Los despliegues son continuos. Al crear una implementación, AWS IoT Greengrass despliega la implementación en los dispositivos de destino que están en línea. Si un dispositivo de destino no está en línea, recibirá la implementación la próxima vez que se conecteAWS IoT Greengrass. Al añadir un dispositivo principal a un grupo de cosas de destino, AWS IoT Greengrass envía al dispositivo la última implementación de ese grupo de cosas.

Antes de que un dispositivo principal despliegue un componente, notifica de forma predeterminada a cada componente del dispositivo. Los componentes de Greengrass pueden responder a la notificación para aplazar el despliegue. Es posible que desee aplazar la implementación si el nivel de batería del dispositivo es bajo o si está ejecutando un proceso que no se puede interrumpir. Para obtener más información, consulte Tutorial: Desarrolle un componente de Greengrass que aplace las actualizaciones de los componentes. Al crear una implementación, puede configurarla para que se despliegue sin notificar a los componentes.

Cada cosa o grupo de cosas objetivo puede tener una implementación a la vez. Esto significa que, al crear una implementación para un objetivo, ya AWS IoT Greengrass no se despliega la revisión anterior de la implementación de ese objetivo.

Opciones de implementación

Las implementaciones ofrecen varias opciones que le permiten controlar qué dispositivos reciben una actualización y cómo se implementa la actualización. Al crear una implementación, puede configurar las siguientes opciones:

  • AWS IoT Greengrasscomponentes

    Defina los componentes que se van a instalar y ejecutar en los dispositivos de destino. AWS IoT Greengrasslos componentes son módulos de software que se implementan y ejecutan en los dispositivos principales de Greengrass. Los dispositivos reciben componentes solo si el componente es compatible con la plataforma del dispositivo. Esto le permite realizar la implementación en grupos de dispositivos, incluso si los dispositivos de destino se ejecutan en varias plataformas. Si un componente no es compatible con la plataforma del dispositivo, el componente no se implementa en el dispositivo.

    Puede implementar componentes personalizados y componentes AWS proporcionados en sus dispositivos. Al implementar un componente, AWS IoT Greengrass identifica las dependencias de los componentes y también las despliega. Para obtener más información, consulte Desarrolle AWS IoT Greengrass componentes y AWS-componentes proporcionados.

    Usted define la versión y la actualización de configuración que se va a implementar para cada componente. La actualización de configuración especifica cómo modificar la configuración existente del componente en el dispositivo principal o la configuración predeterminada del componente si el componente no existe en el dispositivo principal. Puede especificar los valores de configuración que desea restablecer a los valores predeterminados y los nuevos valores de configuración que se van a combinar en el dispositivo principal. Cuando un dispositivo principal recibe despliegues para distintos destinos y cada despliegue especifica versiones de componentes compatibles, el dispositivo principal aplica las actualizaciones de configuración en orden en función de la fecha y hora en que se creó el despliegue. Para obtener más información, consulte Actualizar las configuraciones de los componentes.

    importante

    Al implementar un componente, AWS IoT Greengrass instala las últimas versiones compatibles de todas las dependencias de ese componente. Por este motivo, es posible que las nuevas versiones con parches de los componentes públicos AWS proporcionados se implementen automáticamente en sus dispositivos principales si agrega nuevos dispositivos a un grupo de cosas o si actualiza la implementación destinada a esos dispositivos. Algunas actualizaciones automáticas, como las actualizaciones de Nucleus, pueden provocar que los dispositivos se reinicien de forma inesperada.

    Para evitar actualizaciones no deseadas de un componente que se ejecuta en su dispositivo, le recomendamos que incluya directamente la versión que prefiera de ese componente al crear una implementación. Para obtener más información sobre el comportamiento de las actualizaciones AWS IoT Greengrass del software principal, consulteActualice el software AWS IoT Greengrass principal (OTA).

  • Políticas de despliegue

    Defina cuándo es seguro implementar una configuración y qué hacer si la implementación falla. Puede especificar si desea o no esperar a que los componentes informen de que se pueden actualizar. También puede especificar si se restablece o no la configuración anterior de los dispositivos en caso de que apliquen una implementación fallida.

  • Detenga la configuración

    Defina cuándo y cómo detener una implementación. El despliegue se detiene y falla si se cumplen los criterios que usted defina. Por ejemplo, puede configurar una implementación para que se detenga si un porcentaje de dispositivos no la aplica después de que la reciba un número mínimo de dispositivos.

  • Configuración de despliegue

    Defina la velocidad a la que una implementación se extiende a los dispositivos de destino. Puede configurar un aumento de velocidad exponencial con límites de velocidad mínimos y máximos.

  • Configuración de tiempo de espera

    Defina la cantidad máxima de tiempo de que dispone cada dispositivo para aplicar una implementación. Si un dispositivo supera la duración que especifique, no podrá aplicar la implementación.

importante

Los componentes personalizados pueden definir los artefactos en los cubos de S3. Cuando el software AWS IoT Greengrass principal implementa un componente, descarga los artefactos del componente del. Nube de AWS Las funciones principales de los dispositivos no permiten el acceso a los buckets de S3 de forma predeterminada. Para implementar componentes personalizados que definan los artefactos en un depósito de S3, la función principal del dispositivo debe conceder permisos para descargar los artefactos de ese depósito. Para obtener más información, consulte Permita el acceso a los depósitos de S3 para los artefactos de los componentes.