Importación de una función Lambda como componente (consola) - 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.

Importación de una función Lambda como componente (consola)

Cuando utiliza la AWS IoT Greengrassconsola para crear un componente de una función Lambda, importa una AWS Lambda función existente y, a continuación, la configura para crear un componente que se ejecute en su dispositivo Greengrass.

Antes de empezar, revise los requisitos para ejecutar las funciones de Lambda en los dispositivos Greengrass.

Paso 1: Elija una función Lambda para importarla

  1. En el menú de navegación de la AWS IoT Greengrassconsola, seleccione Componentes.

  2. En la página Componentes, seleccione Crear componente.

  3. En la página Crear componente, en Información del componente, elija Importar función Lambda.

  4. En Función Lambda, busque y elija la función Lambda que desee importar.

    AWS IoT Greengrasscrea el componente con el nombre de la función Lambda.

  5. En la versión de la función Lambda, elija la versión que desee importar. No puedes elegir alias de Lambda como. $LATEST

    AWS IoT Greengrasscrea el componente con la versión de la función Lambda como una versión semántica válida. Por ejemplo, si la versión de la función es 3, la versión del componente se convierte en 3.0.0.

Paso 2: Configurar los parámetros de la función Lambda

En la página Crear componente, en Configuración de la función Lambda, configure los siguientes parámetros para utilizarlos en la ejecución de la función Lambda.

  1. (Opcional) Añada la lista de fuentes de eventos a las que se suscribe la función Lambda para recibir mensajes de trabajo. Puede especificar las fuentes de eventos para suscribir esta función a los mensajes locales de publicación/suscripción y a los mensajes MQTT. AWS IoT Core Se llama a la función Lambda cuando recibe un mensaje de una fuente de eventos.

    nota

    Para suscribir esta función a los mensajes de otras funciones o componentes de Lambda, implemente el componente de enrutador de suscripciones heredado al implementar este componente de función de Lambda. Al implementar el componente del router de suscripciones heredado, especifique las suscripciones que utiliza la función Lambda.

    En Fuentes de eventos, haga lo siguiente para agregar una fuente de eventos:

    1. Para cada fuente de eventos que añada, especifique las siguientes opciones:

      • Tema: el tema al que suscribirse a los mensajes.

      • Tipo: el tipo de fuente de eventos. Puede elegir entre las siguientes opciones:

        • Publicación/suscripción local: suscríbase a los mensajes de publicación/suscripción locales.

          Si utiliza Greengrass nucleus v2.6.0 o posterior y Lambda manager v2.2.5 o posterior, puede usar comodines (+y#) de los temas de MQTT en el tema cuando especifique este tipo.

        • AWS IoT CoreAWS IoT CoreMQTT: suscríbase a los mensajes de MQTT.

          Si especifica este tipo, puede utilizar los caracteres comodín (+y#) de los temas de MQTT en el tema.

    2. Para añadir otra fuente de eventos, elija Añadir fuente de eventos y repita el paso anterior. Para eliminar una fuente de eventos, selecciona Eliminar junto a la fuente de eventos que deseas eliminar.

  2. En Tiempo de espera (segundos), introduzca la cantidad máxima de tiempo en segundos que puede ejecutar una función Lambda no anclada antes de que se agote el tiempo de espera. El valor predeterminado es de 3 segundos.

  3. En Fijado, elija si el componente de la función Lambda está anclado. El valor predeterminado es True.

    • Una función Lambda anclada (o de larga duración) se inicia cuando se AWS IoT Greengrass inicia y sigue ejecutándose en su propio contenedor.

    • Una función Lambda no anclada (o bajo demanda) se inicia solo cuando recibe un elemento de trabajo y se cierra después de permanecer inactiva durante un tiempo de inactividad máximo especificado. Si la función tiene varios elementos de trabajo, el software de AWS IoT Greengrass Core crea varias instancias de la función.

  4. (Opcional) En Parámetros adicionales, defina los siguientes parámetros de la función Lambda.

    • Tiempo de espera de estado (segundos): intervalo en segundos en el que el componente de la función Lambda envía las actualizaciones de estado al componente del administrador de Lambda. Este parámetro solo se aplica a las funciones ancladas. El valor predeterminado es de 60 segundos.

    • Tamaño máximo de cola: tamaño máximo de la cola de mensajes para el componente de la función Lambda. El software AWS IoT Greengrass Core almacena los mensajes en una cola FIFO (primero en entrar, primero en salir) hasta que pueda ejecutar la función Lambda para consumir cada mensaje. El valor predeterminado es de 1000 mensajes.

    • Número máximo de instancias: el número máximo de instancias que una función Lambda no anclada puede ejecutar al mismo tiempo. El valor predeterminado es 100 instancias.

    • Tiempo máximo de inactividad (segundos): cantidad máxima de tiempo en segundos que una función Lambda no anclada puede permanecer inactiva antes de que el software AWS IoT Greengrass principal detenga su proceso. El valor predeterminado es de 60 segundos.

    • Tipo de codificación: el tipo de carga útil que admite la función Lambda. Puede elegir entre las siguientes opciones:

      • JSON

      • Binario

      El valor predeterminado es JSON.

  5. (Opcional) Especifique la lista de argumentos de la línea de comandos para pasarlos a la función Lambda cuando se ejecute.

    1. En Parámetros adicionales, Argumentos de proceso, elija Añadir argumento.

    2. Para cada argumento que añada, introduzca el argumento que desee pasar a la función.

    3. Para eliminar un argumento, elija Eliminar junto al argumento que desee eliminar.

  6. (Opcional) Especifique las variables de entorno que están disponibles para la función Lambda cuando se ejecuta. Las variables de entorno permiten almacenar y actualizar los ajustes de configuración sin necesidad de cambiar el código de la función.

    1. En Parámetros adicionales, Variables de entorno, elija Añadir variable de entorno.

    2. Para cada variable de entorno que añada, especifique las siguientes opciones:

      • Clave: el nombre de la variable.

      • Valor: el valor predeterminado de esta variable.

    3. Para eliminar una variable de entorno, elija Eliminar junto a la variable de entorno que desee eliminar.

Paso 3: (opcional) Especifique las plataformas compatibles para la función Lambda

Todos los dispositivos principales tienen atributos para el sistema operativo y la arquitectura. Al implementar el componente de la función Lambda, el software AWS IoT Greengrass Core compara los valores de plataforma que especifique con los atributos de la plataforma en el dispositivo principal para determinar si la función Lambda es compatible con ese dispositivo.

nota

También puede especificar atributos de plataforma personalizados al implementar el componente núcleo de Greengrass en un dispositivo principal. Para obtener más información, consulte el parámetro de anulación de plataforma del componente núcleo de Greengrass.

En Configuración de la función Lambda, Parámetros adicionales, Plataformas, haga lo siguiente para especificar las plataformas que admite esta función Lambda.

  1. Para cada plataforma, especifique las siguientes opciones:

    • Sistema operativo: nombre del sistema operativo de la plataforma. Actualmente el único valor admitido es linux.

    • Arquitectura: la arquitectura del procesador de la plataforma. Los valores admitidos son:

      • amd64

      • arm

      • aarch64

      • x86

  2. Para añadir otra plataforma, elija Añadir plataforma y repita el paso anterior. Para eliminar una plataforma compatible, selecciona Eliminar junto a la plataforma que deseas eliminar.

Paso 4: (opcional) Especificar las dependencias de los componentes para la función Lambda

Las dependencias de los componentes identifican los componentes adicionales AWS proporcionados o los componentes personalizados que utiliza la función. Al implementar el componente de la función Lambda, la implementación incluye estas dependencias para que la función se ejecute.

importante

Para importar una función Lambda que haya creado para ejecutarse en la AWS IoT Greengrass V1, debe definir las dependencias de los componentes individuales para las funciones que utiliza la función, como los secretos, las sombras locales y el administrador de flujos. Defina estos componentes como dependencias rígidas para que el componente de la función Lambda se reinicie si la dependencia cambia de estado. Para obtener más información, consulte Importación de funciones Lambda V1.

En Configuración de la función Lambda, Parámetros adicionales, Dependencias de componentes, complete los siguientes pasos para especificar las dependencias de los componentes de la función Lambda.

  1. Seleccione Añadir dependencia.

  2. Para cada dependencia de componentes que añada, especifique las siguientes opciones:

    • Nombre del componente: el nombre del componente. Por ejemplo, introduzca aws.greengrass.StreamManager para incluir el componente del administrador de flujos.

    • Requisito de versión: la restricción de versión semántica de estilo npm que identifica las versiones compatibles de la dependencia de este componente. Puede especificar una sola versión o un rango de versiones. Por ejemplo, introduzca ^1.0.0 para especificar que esta función Lambda depende de cualquier versión de la primera versión principal del componente administrador de flujos. Para obtener más información sobre las restricciones de la versión semántica, consulte la calculadora npm semver.

    • Tipo: el tipo de dependencia. Puede elegir entre las siguientes opciones:

      • Duro: el componente de la función Lambda se reinicia si la dependencia cambia de estado. Esta es la selección predeterminada.

      • Suave: el componente de la función Lambda no se reinicia si la dependencia cambia de estado.

  3. Para eliminar una dependencia de un componente, elija Eliminar junto a la dependencia del componente

Paso 5: (opcional) Ejecute la función Lambda en un contenedor

De forma predeterminada, las funciones Lambda se ejecutan en un entorno de ejecución aislado dentro del software AWS IoT Greengrass Core. También puede optar por ejecutar la función Lambda como un proceso sin aislamiento (es decir, en modo sin contenedor).

En la configuración de procesos de Linux, en el modo de aislamiento, elija una de las siguientes opciones para seleccionar la contenerización de la función Lambda:

  • Contenedor Greengrass: la función Lambda se ejecuta en un contenedor. Esta es la selección predeterminada.

  • Sin contenedor: la función Lambda se ejecuta como un proceso sin ningún tipo de aislamiento.

Si ejecuta la función Lambda en un contenedor, complete los siguientes pasos para configurar la configuración del proceso para la función Lambda.

  1. Configure la cantidad de memoria y los recursos del sistema, como los volúmenes y los dispositivos, para ponerlos a disposición del contenedor.

    En Parámetros del contenedor, haga lo siguiente.

    1. En Tamaño de memoria, introduzca el tamaño de memoria que desee asignar al contenedor. Puede especificar el tamaño de la memoria en MB o KB.

    2. En el caso de la carpeta sys de solo lectura, elija si el contenedor puede leer o no la información de la carpeta del /sys dispositivo. El valor predeterminado es False.

  2. (Opcional) Configure los volúmenes locales a los que puede acceder la función Lambda en contenedores. Cuando define un volumen, el software de AWS IoT Greengrass Core monta los archivos de origen en el destino dentro del contenedor.

    1. En Volúmenes, elija Añadir volumen.

    2. Para cada volumen que añada, especifique las siguientes opciones:

      • Volumen físico: la ruta a la carpeta de origen del dispositivo principal.

      • Volumen lógico: la ruta a la carpeta de destino del contenedor.

      • Permiso: (opcional) el permiso para acceder a la carpeta de origen desde el contenedor. Puede elegir entre las siguientes opciones:

        • Solo lectura: la función Lambda tiene acceso de solo lectura a la carpeta de origen. Esta es la selección predeterminada.

        • Lectura y escritura: la función Lambda tiene acceso de lectura y escritura a la carpeta de origen.

      • Agregar propietario del grupo: (opcional) si se debe agregar o no el grupo de sistemas que ejecuta el componente de la función Lambda como propietario de la carpeta de origen. El valor predeterminado es False.

    3. Para eliminar un volumen, seleccione Eliminar junto al volumen que desee eliminar.

  3. (Opcional) Configure los dispositivos del sistema local a los que puede acceder la función Lambda en contenedor.

    1. En Dispositivos, elija Agregar dispositivo.

    2. Para cada dispositivo que añada, especifique las siguientes opciones:

      • Ruta de montaje: la ruta al dispositivo del sistema en el dispositivo principal.

      • Permiso: (opcional) el permiso para acceder al dispositivo del sistema desde el contenedor. Puede elegir entre las siguientes opciones:

        • Solo lectura: la función Lambda tiene acceso de solo lectura al dispositivo del sistema. Esta es la selección predeterminada.

        • Lectura y escritura: la función Lambda tiene acceso de lectura y escritura a la carpeta de origen.

      • Agregar propietario del grupo: (opcional) si se debe agregar o no el grupo de sistemas que ejecuta el componente de la función Lambda como propietario del dispositivo del sistema. El valor predeterminado es False.

Paso 6: Crear el componente de la función Lambda

Después de configurar los ajustes del componente de la función Lambda, elija Crear para terminar de crear el nuevo componente.

Para ejecutar la función Lambda en su dispositivo principal, puede implementar el nuevo componente en sus dispositivos principales. Para obtener más información, consulte Implemente AWS IoT Greengrass componentes en los dispositivos.