View a markdown version of this page

Ejecución de código con Lambda - AWS Lambda

Ejecución de código con Lambda

Cuando escribe una función de Lambda, está creando código que se ejecutará en un entorno sin servidor único. Comprender cómo Lambda ejecuta realmente el código implica dos aspectos clave: el modelo de programación que define la forma en que el código interactúa con Lambda, y el ciclo de vida del entorno de ejecución que determina cómo Lambda gestiona el entorno del tiempo de ejecución del código.

El modelo de programación de Lambda

El modelo de programación funciona como un conjunto común de reglas sobre cómo Lambda trabaja con su código, independientemente de si está escribiendo en Python, Java o cualquier otro lenguaje compatible. El modelo de programación incluye el tiempo de ejecución y el controlador.

En el caso de funciones estándar:

  1. Lambda recibe un evento.

  2. Lambda utiliza el tiempo de ejecución para preparar el evento en un formato que pueda usar el código.

  3. El tiempo de ejecución envía el evento formateado a su controlador.

  4. Su controlador procesa el evento mediante el código que ha escrito.

Un elemento esencial de este modelo es el controlador, donde Lambda envía los eventos para que los procese su código. Considérelo como el punto de entrada a su código. Cuando Lambda recibe un evento, pasa este evento y parte de la información de contexto a su controlador. A continuación, el controlador ejecuta su código para procesar estos eventos; por ejemplo, puede leer un archivo cuando se carga en Amazon S3, analizar una imagen o actualizar una base de datos. Una vez que su código termina de procesar un evento, el controlador está listo para procesar el siguiente.

El modelo de ejecución de Lambda

Mientras que el modelo de programación define cómo Lambda interactúa con su código, el entorno de ejecución es donde Lambda realmente ejecuta la función: es un espacio de cómputo seguro y aislado creado específicamente para su función.

Cada entorno sigue un ciclo de vida:

  1. Inicialización: configuración del entorno y carga de código.

  2. Invocación: ejecución única del código de la función.

  3. Cierre: limpieza del entorno.

Este entorno gestiona aspectos importantes de la ejecución de su función. Proporciona memoria a la función y un directorio /tmp para el almacenamiento temporal.