Paquetes de implementación de Lambda - AWS Lambda

Paquetes de implementación de Lambda

El código de la función AWS Lambda se compone de scripts o programas compilados y sus dependencias. Utiliza un paquete de implementación para implementar su código de función en Lambda. Lambda admite dos tipos de paquetes de implementación: imágenes de contenedor y archivos .zip.

Imágenes de contenedor

Una imagen contenedor incluye el sistema operativo base, el tiempo de ejecución, las extensiones de Lambda, el código de la aplicación y sus dependencias. También puede agregar datos estáticos, como modelos de Machine Learning, a la imagen.

Lambda proporciona un conjunto de imágenes base de código abierto que puede usar para crear su imagen contenedor. Para crear y probar imágenes de contenedor, puede utilizar la interfaz de línea de comandos AWS Serverless Application Model (AWS SAM) (CLI) o herramientas de contenedor nativas como la CLI de Docker.

Cargue las imágenes de contenedor en Amazon Elastic Container Registry (Amazon ECR), un servicio de registro de imágenes de contenedor AWS administrado. Para implementar la imagen en su función, especifique la URL de la imagen Amazon ECR mediante la consola Lambda, la API Lambda, las herramientas de línea de comandos o los SDK AWS.

Para obtener más información acerca de las imágenes de contenedor Lambda, consulte Uso de imágenes de contenedor con Lambda.

archivos de archivo .zip

Un archivo de archivo .zip incluye el código de la aplicación y sus dependencias. Al crear funciones mediante la consola de Lambda o un kit de herramientas, Lambda crea automáticamente un archivo de archivo .zip del código.

Al crear funciones con la API de Lambda, las herramientas de línea de comandos o los AWS SDK, debe crear un paquete de implementación. También debe crear un paquete de implementación si su función utiliza un lenguaje compilado, o para agregar dependencias a su función. Para implementar el código de su función, cargue el paquete de implementación desde Amazon Simple Storage Service (Amazon S3) o desde su equipo local.

Puede cargar un archivo .zip como paquete de implementación utilizando la consola de Lambda, AWS Command Line Interface (AWS CLI) o en un bucket de Amazon Simple Storage Service (Amazon S3).

Uso de la consola de Lambda

Los siguientes pasos muestran cómo cargar un archivo .zip como paquete de implementación mediante la consola de Lambda.

Para cargar un archivo .zip en la consola de Lambda

  1. Abra la Functions page (Página de funciones) en la consola de Lambda.

  2. Seleccione una función.

  3. En el sector Code Source (Código fuente), seleccione UPload from (Cargar desde) y luego .zip file (archivo .zip).

  4. Seleccione Cargar para seleccionar el archivo.zip local.

  5. Seleccione Save.

Uso de la AWS CLI

Puede cargar un archivo.zip como paquete de implementación utilizando AWS Command Line Interface (AWS CLI). Si desea obtener instrucciones específicas del lenguaje, consulte los temas siguientes.

Uso de Amazon S3

Puede cargar un archivo .zip como paquete de implementación utilizando Amazon Simple Storage Service (Amazon S3). Para obtener más información, consulte Uso de otros servicios de AWS para crear un paquete de implementación.

Layers

Si implementa el código de función mediante un archivo .zip, puede usar capas de Lambda como mecanismo de distribución para bibliotecas, tiempos de ejecución personalizados y otras dependencias de funciones. Las capas le permiten administrar su código de función en desarrollo con independencia del código invariable y los recursos que utiliza. Puede configurar su función para que utilice capas que cree, capas que AWS proporciona o capas de otros clientes AWS.

No se utilizan capas con imágenes de contenedor. En su lugar, empaqueta su tiempo de ejecución preferido, bibliotecas y otras dependencias en la imagen contenedor cuando construye la imagen.

Para obtener más información acerca de las capas, consulte Creación y uso compartido de capas de Lambda.

Uso de otros servicios de AWS para crear un paquete de implementación

En la siguiente sección se describen otros servicios de AWS que puede utilizar para empaquetar dependencias para su función de Lambda.

Paquetes de implementación con bibliotecas C o C++

Si el paquete de implementación contiene bibliotecas nativas, puede compilar el paquete de implementación con AWS Serverless Application Model (AWS SAM). Puede utilizar el comando AWS SAM de la CLI de sam build con --use-container para crear el paquete de implementación. Esta opción crea un paquete de implementación dentro de una imagen de Docker que es compatible con el entorno de ejecución de Lambda.

Para obtener más información, consulte creación de sam en la Guía para desarrolladores de AWS Serverless Application Model.

Paquetes de implementación superiores a 50 MB

Si el paquete de implementación tiene un tamaño mayor que 50 MB, se recomienda cargar el código de función y las dependencias en un bucket de Amazon S3.

Puede crear el paquete de implementación y cargar el archivo .zip a su bucket Amazon S3 de la región AWS en la que desea crear la función de Lambda. Cuando cree la función Lambda, especifique el nombre del bucket de S3 y el nombre de la clave del objeto en la consola de Lambda, o bien mediante AWS CLI.

Para crear un bucket mediante la consola de Amazon S3, consulte ¿Cómo se crea un bucket de S3? en la guía del usuario de la consola de Amazon Simple Storage Service.