Implementación de funciones de Lambda como archivos .zip - AWS Lambda

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 funciones de Lambda como archivos .zip

Cuando se crea una función Lambda, empaquete el código de función en un paquete de implementación. Lambda admite dos tipos de paquetes de implementación: imágenes de contenedor y archivos .zip. El flujo de trabajo para crear una función depende del tipo de paquete de implementación. Para configurar una función definida como una imagen de contenedor, consulte Uso de imágenes de contenedor de Lambda.

Puede utilizar la consola de Lambda y la API de Lambda para crear una función definida con un archivo .zip. También puede cargar un archivo .zip actualizado para cambiar el código de función.

nota

No puede cambiar el tipo de paquete de implementación (.zip o imagen de contenedor) de una función existente. Por ejemplo, no se puede convertir una función de imagen de contenedor para utilizar un archivo .zip. Debe crear una nueva función.

Creación de la función de Lambda

Cuando se crea una función definida con un archivo .zip, se elige una plantilla de código, la versión de idioma y el rol de ejecución para la función. Agregue su código de función después de que Lambda cree la función.

Cómo crear la función
  1. Abra la página de Functions (Funciones) en la consola de Lambda.

  2. Elija Create function (Crear función).

  3. Seleccione Author from scratch (Crear desde cero) o Use a blueprint (Usar proyecto) para crear su función.

  4. Bajo Basic information (Información básica), haga lo siguiente:

    1. En Nombre de la función, escriba el nombre de la función. Los nombres de las funciones están limitados a 64 caracteres de longitud.

    2. Para Runtime (Tiempo de ejecución), elija la versión del idioma que desea utilizar para su función.

    3. (Opcional) Para Architecture (Arquitectura), elija la arquitectura del conjunto de instrucciones que utilizará para su función. La arquitectura predeterminada es x86_64. Cuando cree el paquete de implementación para su función, asegúrese de que sea compatible con esta arquitectura del conjunto de instrucciones.

  5. (Opcional) En Permisos, expanda Cambiar función de ejecución predeterminada. Puede crear un nuevo Rol de ejecución o crear un rol existente.

  6. (Opcional) Expanda Advanced settings (Configuración avanzada). Puede elegir una Configuración de firma de código para la función. También puede configurar una (Amazon VPC) para que tenga acceso a la función.

  7. Elija Create function (Crear función).

Lambda crea la nueva función. Ahora puede usar la consola para agregar el código de función y configurar otros parámetros y características de función. Para obtener instrucciones de implementación de código, consulte la página del controlador para conocer el tiempo de ejecución que utiliza la función.

Node.js

Implementar funciones Node.js de Lambda con archivos de archivo.zip

Python

Uso de archivos .zip para funciones de Lambda en Python

Ruby

Uso de archivos .zip para funciones de Lambda Ruby

Java

Implementar funciones de Lambda Java con archivos de archivo .zip o JAR

Go

Implementar funciones de Lambda en Go con archivos .zip

C#

Crear e implementar funciones de Lambda C# con archivos de archivo .zip

PowerShell

Implemente funciones PowerShell Lambda con archivos de archivos.zip

Uso del editor de código de la consola

La consola crea una función de Lambda con un único archivo de fuente. Para los lenguajes de scripting, puede editar este archivo y agregar más archivos con el editor de código integrado. Para guardar los cambios, elija Guardar. A continuación, para ejecutar el código, elija Pruebas.

nota

La consola de Lambda utiliza AWS Cloud9 para proporcionar un entorno de desarrollo integrado en el navegador. También puede utilizar AWS Cloud9 para desarrollar funciones de Lambda en su propio entorno. Para obtener más información, consulte Trabajar con funciones de AWS Lambda utilizando AWS Toolkit en la guía del usuario de AWS Cloud9.

Al guardar el código de función, la consola de Lambda crea un paquete de implementación de archivo .zip. Cuando desarrolle el código de función fuera de la consola (mediante un IDE), debe crear un paquete de implementación para cargar el código a la función de Lambda.

Actualización del código de la función

Para los lenguajes de scripting (Node.js, Python y Ruby), puede editar el código de la función en el editor de código integrado. Si el tamaño del código supera los 3 MB, o si necesita agregar bibliotecas, o para lenguajes incompatibles con el editor (Java, Go, C#), debe cargar el código de función como un archivo .zip. Si el archivo .zip tiene un tamaño inferior a los 50 MB, puede cargarlo desde su equipo local. Si el tamaño del archivo supera los 50 MB, cárguelo a la función desde un bucket de Amazon S3.

Para cargar código de función como un archivo .zip
  1. Abra la página de Funciones en la consola de Lambda.

  2. Elija la función que desea actualizar y elija la pestaña Código.

  3. En Fuente de código, seleccione Cargar desde.

  4. Elija .zip file (Archivo .zip) y, a continuación, elija Upload (Cargar).

    1. En el selector de archivos, seleccione la versión de imagen nueva y elija Open (Abrir) y, luego, Save (Guardar).

  5. (Alternativa al paso 4) Elija Amazon S3 location (Ubicación de Amazon S3).

    1. En el cuadro de texto, introduzca el vínculo URL de S3 del archivo .zip y, después, elija Save (Guardar).

Cambio del tiempo de ejecución

Si actualiza la configuración de la función para utilizar un nuevo tiempo de ejecución, es posible que deba actualizar el código de la función para que sea compatible con el tiempo de ejecución nuevo. Si actualiza la configuración de la función para utilizar un tiempo de ejecución diferente, debe proporcionar un nuevo código de función que sea compatible con el tiempo de ejecución y la arquitectura. Para obtener instrucciones acerca de cómo crear un paquete de implementación para el código de función, consulte la página del controlador para conocer el tiempo de ejecución que utiliza la función.

Para cambiar el tiempo de ejecución
  1. Abra la página de Funciones en la consola de Lambda.

  2. Elija la función que desea actualizar y elija la pestaña Código.

  3. Desplácese hasta la sección Configuración de tiempo de ejecución, que se encuentra en el editor de código.

  4. Elija Editar.

    1. Para Runtime (Tiempo de ejecución), seleccione el identificador del tiempo de ejecución.

    2. Para Handler (Controlador), especifique el nombre de archivo y el controlador de au función.

    3. Para Architecture (Arquitectura), elija la arquitectura del conjunto de instrucciones que utilizará para su función.

  5. Elija Guardar.

Modificación de la arquitectura

Antes de cambiar la arquitectura del conjunto de instrucciones, debe asegurarse de que el código de función sea compatible con la arquitectura de destino.

Si utiliza Node.js, Python o Ruby y edita el código de función en el editor integrado, el código existente puede ejecutarse sin modificaciones.

Sin embargo, si proporciona el código de función mediante un paquete de implementación de archivo .zip, debe preparar un nuevo archivo .zip recopilado y creado de forma correcta para el tiempo de ejecución de destino y la arquitectura del conjunto de instrucciones. Para obtener instrucciones, consulte la página del controlador para conocer el tiempo de ejecución de la función.

Para cambiar la arquitectura del conjunto de instrucciones
  1. Abra la página de Funciones en la consola de Lambda.

  2. Elija la función a actualizar y luego elija la pesetaña Code (Código).

  3. En Runtime settings (Configuración de tiempo de ejecución), elija Edit (Editar).

  4. Para Architecture (Arquitectura), elija la arquitectura del conjunto de instrucciones que utilizará para su función.

  5. Seleccione Save.

Uso de la API de Lambda

Para crear y configurar una función que utilice un archivo .zip, utilice las siguientes operaciones de la API:

AWS CloudFormation

Puede usar AWS CloudFormation para crear una función Lambda con archivos .zip. En su plantilla AWS CloudFormation, el recurso AWS::Lambda::Function especifica la función Lambda. Para obtener descripciones de las propiedades del recurso AWS::Lambda::Function, consulte AWS::Lambda::Function en la Guía del usuario de AWS CloudFormation.

En el recurso AWS::Lambda::Function, establezca las siguientes propiedades para crear una función definida como un archivo .zip:

  • AWS::Lambda::Function

    • PackageType: estableca en Zip.

    • Código: introduzca el nombre del bucket de Amazon S3 y el nombre del archivo .zip en los campos S3Bucket y S3Key. Para Node.js o Python, puede proporcionar código fuente en línea de su función Lambda.

    • Tiempo de ejecución: establece el valor de tiempo de ejecución.

    • Arquitectura: establezca el valor de la arquitectura en arm64 para utilizar el procesador Graviton2 de AWS. De forma predeterminada, el valor de la arquitectura es x86_64.