AWS IoT Greengrass Version 1 entró en la fase de vida útil prolongada el 30 de junio de 2023. Para obtener más información, consulte la política de mantenimiento de AWS IoT Greengrass V1 Después de esta fecha, AWS IoT Greengrass V1 no se publicarán actualizaciones que proporcionen funciones, mejoras, correcciones de errores o parches de seguridad. Los dispositivos que se ejecuten AWS IoT Greengrass V1 no se verán afectados y seguirán funcionando y conectándose a la nube. Le recomendamos encarecidamente que migre a AWS IoT Greengrass Version 2, ya que añade importantes funciones nuevas y es compatible con plataformas adicionales.
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.
Configurar una función de Lambda para AWS IoT Greengrass
Ahora está listo para configurar la función de Lambda para AWS IoT Greengrass.
En este paso:
-
Utilizará la consola de AWS IoT para añadir la función de Lambda al grupo de Greengrass.
-
Configurará los ajustes específicos del grupo para la función de Lambda.
-
Añadirá una suscripción al grupo que permita a la función de Lambda publicar mensajes de MQTT en AWS IoT.
-
Configurará las opciones de registro local para el grupo.
En el panel de navegación de la consola AWS IoT, en Administrar, expanda los dispositivos Greengrass y, a continuación, elija Grupos (V1).
-
En Grupos de Greengrass, elija el grupo que creó en el módulo 2.
-
En la página de configuración del grupo, elija la pestaña Funciones de Lambda y, a continuación, desplácese hacia abajo hasta la sección Mis funciones de Lambda y elija Añadir función de Lambda.
-
Seleccione el nombre de la función de Lambda que creó en el paso anterior (Greengrass_HelloWorld, no el nombre del alias).
-
Para la versión, elija Alias: GG_HelloWorld.
-
En la sección de configuración de la función de Lambda, realice los siguientes cambios:
-
Establezca el usuario y el grupo del sistema en Utilizar grupo por defecto.
-
Establezca la creación de contenedores de la función de Lambda en Usar grupo por defecto.
-
Configure el Timeout (Tiempo de espera) en 25 segundos. Esta función de Lambda está inactiva durante 5 segundos antes de cada invocación.
-
En Ancladas, elija Verdadero
nota
Una función de Lambda de larga duración (o anclada) se inicia automáticamente después de arrancar AWS IoT Greengrass y sigue ejecutándose en su propio contenedor. Esto contrasta con una función de Lambda bajo demanda, que se inicia cuando se la invoca y se detiene cuando no quedan tareas que ejecutar. Para obtener más información, consulte Configuración del ciclo de vida de las funciones de Lambda de Greengrass.
-
-
Elija Agregar función de Lambda para guardar los cambios. Para obtener información sobre las propiedades de la función de Lambda, consulte Control de la ejecución de funciones de Greengrass Lambda utilizando la configuración específica del grupo.
A continuación, cree una suscripción que permita a la función de Lambda enviar mensajes MQTT
a AWS IoT Core. Una función de Lambda de Greengrass puede intercambiar mensajes MQTT con:
-
Dispositivos del grupo de Greengrass
-
Conectores en el grupo.
-
Otras funciones de Lambda del grupo.
-
AWS IoT Core.
-
El servicio de sombra local Para obtener más información, consulte Módulo 5: Interacción con sombras de dispositivos.
El grupo utiliza las suscripciones para controlar la forma en que estas entidades se pueden comunicar entre sí. Las suscripciones proporcionan interacciones predecibles y una capa de seguruidad.
Una suscripción se compone de un origen, un destino y un tema. El origen es el autor del mensaje. El destino es el destinatario del mensaje. El tema permite filtrar los datos que se envían desde el origen hasta el destino. El origen o el destino pueden ser un dispositivo de Greengrass, una función de Lambda, un conector, una sombra de dispositivo o AWS IoT Core.
nota
La suscripción está dirigida, ya que los mensajes fluyen en una dirección específica: del origen al destino. Para permitir la comunicación bidireccional, debe configurar dos suscripciones.
nota
Actualmente, el filtro de temas de suscripción no permite más de un carácter
+
en un tema. El filtro de temas solo permite un carácter#
al final de un tema.Dado que la función de Lambda
Greengrass_HelloWorld
solo envía mensajes al temahello/world
en AWS IoT Core , solo tiene que crear una suscripción de la función de Lambda a AWS IoT Core. Cree esto en el siguiente paso. -
-
En la página de configuración del grupo, elija la pestaña Suscripciones y, a continuación, elija Añadir suscripción.
Para ver un ejemplo que muestra cómo crear una suscripción mediante la AWS CLI, consulte create-subscription-definition
en la Referencia de comandos de la AWS CLI. -
En el Tipo de origen, elija Función de Lambda y, para el Origen, elija Greengrass_HelloWorld.
-
Para el Tipo de destino, elija Servicio y, para el objetivo, seleccione Nube de IoT.
-
En Filtro por temas, introduzca
hello/world
y, a continuación, seleccione Crear suscripción. -
Defina la configuración de registro del grupo. En este tutorial, debe configurar los componentes del sistema de AWS IoT Greengrass y las funciones de Lambda definidas por el usuario para que escriban los registros en el sistema de archivos del dispositivo del núcleo.
-
En la página de configuración del grupo, elija la pestaña Registros.
-
En la sección Configuración de registros locales, elija Editar.
-
En el cuadro de diálogo Editar la configuración de los registros locales, mantenga los valores predeterminados tanto para los niveles de registro como para los tamaños de almacenamiento y, a continuación, seleccione Guardar.
Puede usar registros para solucionar cualquier problema que pueda surgir al ejecutar este tutorial. Durante la solución de problemas, puede cambiar temporalmente el nivel del registro a Depuración. Para obtener más información, consulte Acceso a los registros del sistema de archivos.
-
-
Si Java 8 Runtime no está instalado en el dispositivo principal, debe instalarlo o desactivar el administrador de secuencias.
nota
En este tutorial no se utiliza el administrador de secuencias, pero sí el flujo de trabajo Creación predeterminada de un grupo, que habilita el administrador de secuencias de forma predeterminada. Si el administrador de secuencias está habilitado pero Java 8 no está instalado, se produce un error en la implementación del grupo. Para obtener más información, consulte los requisitos del administrador de secuencias.
Para desactivar el administrador de secuencias:
-
En la página de configuración del grupo, elija la pestaña Funciones de lambda.
-
En la sección Funciones de Lambda del sistema, seleccione Administrador de secuencias y luego elija Editar.
-
Elija Deshabilitar y, a continuación, Guardar.
-