

Aviso de fin de soporte: el 7 de octubre de 2026, AWS suspenderemos 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, visita [Migrar desde AWS IoT Greengrass Version 1](https://docs.aws.amazon.com/greengrass/v2/developerguide/migrate-from-v1.html).

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.

# Crear y empaquetar una función de Lambda
<a name="create-lambda"></a>

La función de Lambda de Python de ejemplo de este módulo utiliza el [SDK AWS IoT Greengrass Core](lambda-functions.md#lambda-sdks-core) de Python para publicar mensajes de MQTT.

En este paso:
+ Descarga el SDK AWS IoT Greengrass principal para Python en tu ordenador (no en el dispositivo AWS IoT Greengrass principal).
+ Creará un paquete de implementación de funciones de Lambda que contiene código de característica y dependencias.
+ Utilizará la consola de Lambda para crear una función de Lambda y cargar el paquete de implementación.
+ Publicará una versión de la función de Lambda y creará un alias que apunte a la versión.

Para completar este módulo, Python 3.7 debe estar instalado en su dispositivo principal.

 <a name="create-lambda-procedure"></a>

1. <a name="download-ggc-sdk"></a> Desde la página de descargas del [SDK AWS IoT Greengrass principal](what-is-gg.md#gg-core-sdk-download), descarga el SDK AWS IoT Greengrass básico para Python en tu ordenador.

1. Descomprimir el paquete descargado para obtener el código de la función de Lambda y el SDK.

   La función de Lambda de este módulo utiliza:
   + El archivo `greengrassHelloWorld.py` en `examples\HelloWorld`. Este es el código de la función de Lambda. Cada cinco segundos, la característica publica uno de los dos mensajes posibles en el tema de `hello/world`.
   + La carpeta `greengrasssdk`. Este es el SDK.

1. Copie la carpeta `greengrasssdk` en la carpeta `HelloWorld` que contiene `greengrassHelloWorld.py`.

1. Para crear el paquete de implementación de la función de Lambda, guarde `greengrassHelloWorld.py` y la carpeta `greengrasssdk` en un archivo `zip` comprimido denominado `hello_world_python_lambda.zip`. El archivo `py` y la carpeta `greengrasssdk` deben estar en la raíz del directorio.  
![\[Captura de pantalla que muestra el contenido comprimido de hello_word_python_lambda.zip.\]](http://docs.aws.amazon.com/es_es/greengrass/v1/developerguide/images/gg-get-started-017.png)

   En sistemas de tipo UNIX (incluido el terminal de Mac), puede utilizar el siguiente comando para empaquetar el archivo y la carpeta:

   ```
   zip -r hello_world_python_lambda.zip greengrasssdk greengrassHelloWorld.py
   ```
**nota**  
En función de la distribución, es posible que tenga que instalar `zip` primero (por ejemplo, ejecutando `sudo apt-get install zip`). El comando de instalación podría ser diferente en su distribución.

   Ya está listo para crear la función de Lambda y cargar el paquete de implementación.

1. Abra la consola de Lambda y elija **Crear función**.

1. Elija **Crear desde cero**.

1. Asigne el nombre **Greengrass\$1HelloWorld** a la característica y establezca los demás campos como se indica a continuación:
   + 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. Esta función no la utiliza AWS IoT Greengrass.

   Elija **Crear función**.

1. Cargue su paquete de implementación de la función de Lambda:

   1. <a name="lambda-console-upload"></a>En la pestaña **Código**, en **Código fuente**, seleccione **Cargar desde**. En el menú desplegable, seleccione un **archivo .zip.**  
![\[La carga del menú desplegable con el archivo .zip resaltado.\]](http://docs.aws.amazon.com/es_es/greengrass/v1/developerguide/images/lra-console/upload-deployment-package.png)

   1. Seleccione **Cargar** y, a continuación, elija su paquete de implementación de `hello_world_python_lambda.zip`. A continuación, elija **Guardar**.

   1. <a name="lambda-console-runtime-settings-para"></a>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 **greengrassHelloWorld.function\$1handler**.  
![\[La sección «Configuración del tiempo de ejecución» con el campo «Tiempo de ejecución» establecido en «Python 3.7" y el campo «Handler» establecido en «greengrassHelloWorld.function_handler».\]](http://docs.aws.amazon.com/es_es/greengrass/v1/developerguide/images/gg-get-started-023-2.png)

   1. <a name="lambda-console-save-config"></a>Seleccione **Guardar**.
**nota**  
El botón **de prueba de** la AWS Lambda consola no funciona con esta función. El SDK AWS IoT Greengrass principal no contiene los módulos necesarios para ejecutar las funciones de Greengrass Lambda de forma independiente en la consola. AWS Lambda Estos módulos (por ejemplo, `greengrass_common`) se suministran a las funciones una vez desplegados en el núcleo de Greengrass.

1. <a name="publish-function-version"></a>Publica la función de Lambda:

   1. En el menú **Acciones** de la parte superior de la página, elija **Publicar nueva versión**.  
![\[Captura de pantalla del menú Actions (Acciones) con Publish new version (Publicar nueva versión) resaltado.\]](http://docs.aws.amazon.com/es_es/greengrass/v1/developerguide/images/gg-get-started-026.png)

   1. En **Version description (Descripción de versión)**, escriba **First version** y, a continuación, elija **Publish (Publicar)**.  
![\[Captura de pantalla con el campo Version description (Descripción de versión) establecido en First version (Primera versión) y el botón Publish (Publicar) resaltado.\]](http://docs.aws.amazon.com/es_es/greengrass/v1/developerguide/images/gg-get-started-027.png)

1. <a name="create-version-alias"></a>Cree un [alias](https://docs.aws.amazon.com/lambda/latest/dg/configuration-aliases.html) para la [versión](https://docs.aws.amazon.com/lambda/latest/dg/versioning-aliases.html) de la función de Lambda:
**nota**  
Los grupos de Greengrass pueden hacer referencia a una función de Lambda por versión o alias (recomendado). El uso de un alias facilita la gestión de las actualizaciones del código porque no tiene que cambiar la tabla de suscripción o la definición del grupo cuando se actualiza el código de la función. En su lugar, basta con apuntar el alias a la nueva versión de la función.

   1. En el menú **Acciones** de la parte superior de la página, seleccione **Crear alias**.  
![\[Captura de pantalla del menú Actions (Acciones) establecido en Create alias (Crear alias).\]](http://docs.aws.amazon.com/es_es/greengrass/v1/developerguide/images/gg-get-started-028.png)

   1. Denomine al alias **GG\$1HelloWorld**, establezca la versión en **1** (que corresponde con la versión que acaba de publicar) y, a continuación, elija **Guardar**.
**nota**  
AWS IoT Greengrass **no admite los alias de Lambda para las versiones \$1LATEST.**

         
![\[Captura de pantalla de Crear un nuevo alias con el campo Nombre establecido en GG_ HelloWorld y el campo Versión en 1.\]](http://docs.aws.amazon.com/es_es/greengrass/v1/developerguide/images/gg-get-started-029.png)