Aviso de fin de soporte: el 7 de octubre de 2026, AWS descontinuará el soporte para AWS IoT Greengrass Version 1. Después del 7 de octubre de 2026, ya no podrá acceder a los AWS IoT Greengrass V1 recursos. Para obtener más información, visite Migrar desde AWS IoT Greengrass Version 1.
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 y configuración de la función de Lambda
En este paso, va a crear una función de Lambda que realiza el seguimiento del número de automóviles que pasan por el semáforo. Cada vez que el estado de sombra GG_TrafficLight cambie a G, la función de Lambda simulará el paso de un número aleatorio de vehículos (de 1 a 20). Cada tercer cambio de luz a G, la función de Lambda envía estadísticas básicas, como los valores mínimo y máximo, a una tabla de DynamoDB.
-
En el equipo, cree una carpeta denominada
car_aggregator. -
Desde la carpeta de TrafficLight
ejemplos en GitHub adelante, descarga el carAggregator.pyarchivo a lacar_aggregatorcarpeta. Este es el código de la función de Lambda.nota
Este archivo Python de ejemplo se almacena en el repositorio del SDK AWS IoT Greengrass principal para mayor comodidad, pero no utiliza el SDK AWS IoT Greengrass principal.
-
Si no trabajas en la región EE.UU. Este (Norte de Virginia), ábrela
carAggregator.pyy cámbialaregion_nameen la siguiente línea por la Región de AWS que está seleccionada actualmente en la consola. AWS IoT Para ver la lista de Región de AWS los dispositivos compatibles, consulte AWS IoT Greengrass en. Referencia general de Amazon Web Servicesdynamodb = boto3.resource('dynamodb', region_name='us-east-1') -
Ejecute el siguiente comando en una ventana de línea de comandos
para instalar el paquete AWS SDK para Python (Boto3) y sus dependencias en la carpeta car_aggregator. Las funciones de Greengrass Lambda utilizan el AWS SDK para acceder a otros servicios. AWS (Para Windows, utilice un símbolo del sistema elevado). pip install boto3 -tpath-to-car_aggregator-folderAparece una lista de directorios similar a la siguiente:
-
Comprima el contenido de la carpeta
car_aggregatoren un archivo.zipcon el nombrecar_aggregator.zip. (Comprima el contenido de la carpeta, no la carpeta). Este es el paquete de implementación de la función de Lambda. -
En la consola de Lambda, cree una función denominada
GG_Car_Aggregatory configure los componentes restantes del modo siguiente:-
En Runtime (Tiempo de ejecución), elija Python 3.7.
-
En Permisos, mantenga la configuración predeterminada. Esto crea un rol de ejecución que otorga permisos Lambda básicos. Este rol no lo utiliza AWS IoT Greengrass.
Seleccione Creación de función.
-
-
Cargue su paquete de implementación de la función de Lambda:
-
En la pestaña Código, en Código fuente, seleccione Cargar desde. En el menú desplegable, seleccione un archivo .zip.
-
Seleccione Cargar y, a continuación, elija su paquete de implementación de
car_aggregator.zip. A continuación, elija Guardar. -
En la pestaña Código de la función, en Configuración de tiempo de ejecución, elija Editar y, a continuación, introduzca los siguientes valores.
-
En Runtime (Tiempo de ejecución), elija Python 3.7.
-
En Handler (Controlador), escriba
carAggregator.function_handler.
-
-
Seleccione Save.
-
-
Publique la función de Lambda y, a continuación, cree un alias denominado
GG_CarAggregator. Para obtener instrucciones paso a paso, consulte los pasos para Publicar la función de Lambda y Crear un alias en el Módulo 3 (primera parte). -
En la AWS IoT consola, agrega la función Lambda que acabas de crear a tu AWS IoT Greengrass grupo:
-
En la página de configuración del grupo, elija la pestaña Funciones de Lambda y, a continuación, en Mis funciones de Lambda, seleccione Añadir.
-
Para la función Lambda, elija GG_. Car_Aggregator
-
Para la versión de la función de Lambda, elija el alias de la versión que publicó.
-
En Límite de memoria, escriba
64 MB. -
En Ancladas, elija Verdadero
-
Elija Añadir función de Lambda.
nota
Puede eliminar otras funciones de Lambda de módulos anteriores.
-