Creación de Funciones Lambda en Python para AWS
Clase 13 de 36 • Curso Práctico de AWS Cloud
Resumen
¿Cómo crear una función Lambda en AWS utilizando Python?
El creciente ecosistema de Amazon Web Services (AWS) se presenta como una solución poderosa para desarrolladores que buscan optimizar procesos y automatizar tareas. Un componente esencial de este ecosistema es AWS Lambda, que permite ejecutar código sin necesidad de gestionar servidores, gracias al enfoque serverless. En este tutorial, exploraremos cómo crear una función Lambda utilizando Python, desde la consola de AWS.
¿Qué es AWS Lambda?
AWS Lambda es un servicio de computación que permite ejecutar código sin la necesidad de aprovisionar o administrar servidores. Funciona mediante el modelo de ejecución bajo demanda, permitiendo a los desarrolladores cargar y ejecutar código solo cuando sea necesario, lo que convierte a Lambda en una opción muy eficiente y coste-efectiva para diversas aplicaciones.
¿Cómo iniciar con AWS Lambda?
-
Acceder a la consola de AWS: Dirígete a la consola de AWS y asegúrate de estar en la sección correcta:
- Ve a "All Services" (Todos los servicios).
- Busca y selecciona "Lambda" bajo la categoría de "Compute" (Cómputo).
-
Crear una nueva función Lambda:
- Selecciona "Crear una función" y elige "From scratch" (Desde cero).
- Asigna un nombre a tu función, por ejemplo,
latsifond
. - Elige Python 3.6 como el lenguaje de ejecución, aunque AWS Lambda soporta varios lenguajes como C, Java, y Go.
-
Configurar el rol de ejecución: Define un rol que permita a tu función Lambda ejecutar de forma segura. Esta configuración es crucial para garantizar que tu función tenga los permisos necesarios para interactuar con otros servicios de AWS.
¿Cómo escribir y desplegar el código de una función Lambda en AWS?
Desarrollar una función en AWS Lambda implica definir una función de controlador, conocida como lambda_handler
, que recibe dos argumentos: event
y context
.
def lambda_handler(event, context):
# Código para manejar el evento
what_to_print = event['what_to_print']
how_many_times = event['how_many_times']
if how_many_times > 0:
for _ in range(how_many_times):
print(what_to_print)
what_to_print
yhow_many_times
: Estas son variables de ambiente que determinan qué se imprime y cuántas veces.- El código comprueba una condición simple y ejecuta acciones según los parámetros recibidos.
¿Cómo configurar las variables de entorno y parámetros adicionales?
-
Variables de ambiente: En AWS Lambda, puedes establecer variables de ambiente que serán accesibles para tu función sin necesidad de codificarlas directamente. Ejemplo:
what_to_print
= "Hola desde Platzi"how_many_times
= 6
-
Configurar la memoria y concurrencia:
- Memoria: Puedes ajustar la memoria RAM dedicada a tu función, que por defecto es 128 MB y puede expandirse hasta 3 GB. AWS Lambda ajusta automáticamente la memoria basada en el uso histórico.
- Concurrencia: AWS Lambda permite hasta 1000 ejecuciones concurrentes por defecto. Si necesitas más, puedes contactar el soporte de AWS para analizar tus necesidades.
¿Cómo probar y validar las funciones Lambda?
Una vez configurada tu función, es vital asegurarse de que funcione correctamente creando eventos de prueba y ejecutando la función. Después de la ejecución, AWS Lambda proporciona información detallada sobre el rendimiento, incluidos el tiempo de ejecución y la memoria utilizada.
-
Crear un evento de prueba:
- Crea un nuevo evento de prueba, nómbralo adecuadamente, como
hola
. - Ejecuta el evento para verificar la salida y el rendimiento de tu función.
- Crea un nuevo evento de prueba, nómbralo adecuadamente, como
-
Evaluar los resultados: Asegúrate de revisar el área superior de la consola para ver los resultados de ejecución, que indican la duración, uso de memoria y otras métricas vitales.
Consejos adicionales y resolución de problemas
- Atención al detalle: Los resultados de las ejecuciones suelen aparecer al tope en la consola, lo que puede ser confuso al principio. Haz scroll hacia arriba para confirmar que los resultados se muestran correctamente.
- Optimización: Observa el uso de recursos y ajusta la configuración en función de tus necesidades reales.
- Feedback y soporte: Si tienes dudas, contacta con AWS Support para recibir orientación y ajusta los parámetros según el feedback recibido.
AWS Lambda y Python proporcionan una combinación poderosa para automatizar procesos y construir aplicaciones eficientes en la nube. Este tutorial es solo un comienzo; experimenta y adapta estas herramientas para satisfacer tus objetivos de desarrollo.