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.
Implementación de componentes de AWS IoT Greengrass en los dispositivos
Puede utilizar AWS IoT Greengrass para implementar componentes en dispositivos o grupos de dispositivos. Puede usar implementaciones para definir los componentes y las configuraciones que se envían a los dispositivos. AWS IoT Greengrass se implementa en objetivos, objetos AWS IoT o grupos de objetos que representan los dispositivos principales de Greengrass. AWS IoT Greengrass utiliza trabajos de AWS IoT Core para implementarlas en sus dispositivos principales. Puede configurar la forma en que se implementará el trabajo en sus dispositivos.
Implementaciones en 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. Cuando crea una implementación, define los componentes y las configuraciones que se van a aplicar al software existente del dispositivo principal.
Cuando revisa una implementación para un destino, sustituye los componentes de la revisión anterior por los componentes de la nueva revisión. Por ejemplo, implementa los componentes Administrador de registros y Administrador de secretos en el grupo de objetos TestGroup
. A continuación, se crea otra implementación para TestGroup
que especifica solo el componente administrador de secretos. Como resultado, los dispositivos principales de ese grupo ya no ejecutan el administrador de registros.
Resolución de dependencias de plataformas
Cuando un dispositivo principal recibe una implementación, comprueba que los componentes son compatibles con el dispositivo principal. Por ejemplo, si implementa el Firehose en un destino de Windows, la implementación fallará.
Resolución de dependencias de componentes
El dispositivo principal también comprueba si cada dependencia de componente son compatibles con las restricciones de versión para las implementaciones de otros componentes en este grupo de objetos. Cuando las restricciones de versión de un componente se superponen, Greengrass utiliza la versión más alta aplicable del componente. Por ejemplo:
-
Usted implementa el componente A en
TestGroup
. El componente A depende del componentecom.example.PythonRuntime
con versiones 3.5 a 3.10. -
A continuación, implementa el componente B en
TestGroup
. El componente B depende del componentecom.example.PythonRuntime
con versiones 3.7 a 3.8.
Como resultado, los dispositivos principales en TestGroup
determinan que puede implementar la versión 3.8 del componente com.example.PythonRuntime
, ya que esta es la versión más alta aplicable donde las restricciones de versión se superponen.
A continuación, implementa el componente C en TestGroup
. El componente C depende del componente com.example.PythonRuntime
con versiones 2.6 a 2.7. 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.
Eliminación de un dispositivo de un grupo de objetos
Cuando elimina un dispositivo principal de un grupo de objetos, el comportamiento de implementación del componente depende de la versión del núcleo de Greengrass que ejecute el dispositivo principal.
Implementaciones
Las implementaciones son continuas. Cuando crea una implementación, AWS IoT Greengrass lleva a cabo 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 conecte a AWS IoT Greengrass. Cuando agregue un dispositivo principal a un grupo de objetos de destino, AWS IoT Greengrass envía al dispositivo la última implementación de ese grupo de objetos.
Antes de que un dispositivo principal implemente un componente, notifica de forma predeterminada a cada componente del dispositivo. Los componentes de Greengrass pueden responder a la notificación para aplazar la implementación. 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: Desarrollo de un componente de Greengrass que aplace las actualizaciones de los componentes. Cuando crea una implementación, puede configurarla para que se implemente sin notificar a los componentes.
Cada objeto o grupo de objetos de destino puede tener una implementación a la vez. Esto significa que, cuando crea una implementación para un destino, AWS IoT Greengrass ya no implementa la revisión anterior de la implementación de ese destino.
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. Cuando cree una implementación, puede configurar las siguientes opciones:
-
Componentes de AWS IoT Greengrass
Define los componentes que se van a instalar y ejecutar en los dispositivos de destino. Los componentes de AWS IoT Greengrass son módulos de software que se implementan y ejecutan en 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 proporcionados por AWS en sus dispositivos. Cuando implementa un componente, AWS IoT Greengrass identifica las dependencias de los componentes y también los implementa. Para obtener más información, consulte Desarrollar AWS IoT Greengrass componentes y Componentes proporcionados por AWS.
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 qué valores de configuración desea restablecer a los valores predeterminados y los nuevos valores de configuración que se van a fusionar en el dispositivo principal. Cuando un dispositivo principal recibe implementaciones para distintos destinos y cada una especifica versiones de componentes compatibles, el dispositivo principal aplica las actualizaciones de configuración en orden según la fecha y hora en que se creó la implementación. Para obtener más información, consulte Actualización de las configuraciones de los componentes.
importante
Cuando implementa 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 proporcionados por AWS se implementen de forma automática en sus dispositivos principales si agrega nuevos dispositivos a un grupo de elementos o si actualiza la implementación destinada a esos dispositivos. Algunas actualizaciones automáticas, como las actualizaciones de núcleo, pueden provocar que los dispositivos se reinicien de forma inesperada.
Para evitar actualizaciones no deseadas de un componente que se ejecuta en su dispositivo, recomendamos que incluya directamente la versión que prefiera de ese componente cuando cree una implementación. Para obtener más información sobre el comportamiento de las actualizaciones para el software AWS IoT Greengrass Core, consulte Actualización del software AWS IoT Greengrass Core (OTA).
-
Políticas de implementación
Defina cuándo es seguro implementar una configuración y qué hacer si se produce un error en la implementación. Puede especificar si desea o no esperar a que los componentes informen que se pueden actualizar. También puede especificar si se debe restablecer o no los dispositivos a su configuración anterior si aplican una implementación que no funciona.
-
Configuración de la detención
Defina cómo y cuándo detener una implementación. La implementación 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 falla cuando la aplica después de recibir un número mínimo de dispositivos.
-
Configuración de despliegue
Defina la velocidad a la que una implementación se lleva a cabo en dispositivos de destino. Puede configurar un aumento de velocidad exponencial con límites de velocidad mínimos y máximos.
-
Configuración del tiempo de espera
Defina la cantidad máxima de tiempo que tiene cada dispositivo para aplicar una implementación. Si un dispositivo supera la duración que usted especifique, no podrá aplicar la implementación.
importante
Los componentes personalizados pueden definir los artefactos en los bucket de S3. Cuando el software AWS IoT Greengrass Core implementa un componente, descarga los artefactos del componente de la Nube de AWS. Los roles de los dispositivos principales no permiten el acceso a los buckets de S3 de forma predeterminada. Para implementar componentes personalizados que definan los artefactos en un bucket de S3, el rol del dispositivo principal debe conceder permisos para descargar los artefactos de ese bucket. Para obtener más información, consulte Cómo permitir el acceso a los buckets de S3 para los artefactos del componente.