Lambda (SAM)
Esta guía te muestra cómo trabajar con AWS Lambda utilizando el Serverless Application Model (SAM) y Python. Este ejemplo demuestra cómo compilar y ejecutar un servicio local de API Gateway y Lambda para su invocación directa con el SDK.
Prerrequisitos
Sección titulada «Prerrequisitos»Cómo ejecutar
Sección titulada «Cómo ejecutar»-
Configurar el entorno: Ejecuta el script de configuración para instalar las herramientas y dependencias.
Ventana de terminal scripts/setup.sh -
Iniciar la infraestructura: Inicia ambos servicios locales de SAM (API Gateway y Lambda) en terminales separadas.
-
API Gateway: para realizar peticiones HTTP o cURL:
Ventana de terminal sam local start-api -
Lambda SDK: para usar el AWS SDK (boto3) o la AWS CLI:
Ventana de terminal sam local start-lambda
-
-
Ejecutar el ejemplo:
Ventana de terminal python main.pyVentana de terminal curl "http://127.0.0.1:3000/get_secret?username=admin"- Instala la extensión de VS Code REST Client.
- Abre el archivo
http/get_secret.http. - Ejecuta: Haz clic en Send Request sobre la URL.
- Instala la AWS CLI.
- Ejecuta si tienes AWS CLI instalada globalmente:
Ventana de terminal aws lambda invoke --function-name GetSecretFunction --profile sam --payload '{"queryStringParameters": {"username": "admin"}}' output.json - Ejecuta si tienes AWS CLI instalada a través de mise:
Ventana de terminal mise exec -- aws lambda invoke --function-name GetSecretFunction --profile sam --payload '{"queryStringParameters": {"username": "admin"}}' output.json - Verifica el archivo de salida
output.json.
Cómo depurar
Sección titulada «Cómo depurar»Utiliza los perfiles de depuración preconfigurados de VS Code:
-
Script Python (
main.py):- Asegúrate de que los servicios locales de SAM estén en ejecución (
sam local start-apiysam local start-lambda). - Ejecuta la configuración de depuración Python: Main.
- Asegúrate de que los servicios locales de SAM estén en ejecución (
-
Función Lambda:
- Ejecuta la configuración de depuración SAM: Debug get_secret.
Cómo testear
Sección titulada «Cómo testear»- Todos los tests: Ejecuta el script automatizado:
Ventana de terminal scripts/run_tests.sh - Individualmente: Usa la pestaña Testing de VS Code para ejecutar o depurar casos de test específicos.
Validar resultados
Sección titulada «Validar resultados»- Logs: Revisa la salida de la consola en las terminales donde se está ejecutando
sam localpara verificar los detalles de la invocación y los mensajes de log. - AWS CLI Output: Verifica que el archivo generado
output.jsoncontenga el cuerpo de la respuesta HTTP y el código de estado esperados.
Limpieza
Sección titulada «Limpieza»- Detén los servicios locales de SAM activos en tus terminales.
- Elimina el entorno virtual y las herramientas desinstaladas:
Ventana de terminal rm -rf .venvmise uninstall -a