Ejecutar "Hello, World!" sin servidor con AWS Lambda
TUTORIAL
Información general
Con este tutorial, aprenderá los conceptos básicos sobre la ejecución de código en AWS Lambda sin aprovisionar ni administrar servidores. Le explicaremos cómo crear una función Hello World de Lambda con la consola de AWS Lambda. A continuación, le mostraremos cómo invocar la función de Lambda de forma manual con datos de eventos de muestra y examinaremos las métricas de salida.
Todas las operaciones que se explican en este tutorial pueden realizarse con el nivel gratuito.
Experiencia en AWS
Principiante
Tiempo de realización
10 minutos
Costo de realización
Nivel gratuito
Requisitos
- Cuenta de AWS
- Navegador recomendado: la última versión de Chrome o Firefox
[**] Es posible que las cuentas creadas en las últimas 24 horas aún no tengan acceso a los servicios necesarios para este tutorial.
Servicios utilizados
Última actualización
27 de septiembre de 2023
Implementación
Los esquemas proporcionan código de ejemplo para realizar tareas mínimas de procesamiento. La mayoría de los esquemas procesan eventos de orígenes de eventos específicos, como Amazon S3, Amazon DynamoDB o una aplicación personalizada.
a. En la consola de AWS Lambda, elija Crear función.
Nota: La consola muestra esta página solo si no tiene ninguna función de Lambda creada. Si ya ha creado funciones, verá la página Lambda > Funciones. En la página de lista, elija Crear una función para ir hasta la página Crear función.
Una función de Lambda se compone del código que proporciona, dependencias asociadas y la configuración. La información de configuración que proporciona incluye los recursos de computación que desea asignar (por ejemplo, memoria), límite del tiempo de ejecución y un rol de IAM que AWS Lambda puede asumir para ejecutar su función de Lambda por usted.
Información básica:
- Nombre: puede introducir el nombre de su función de Lambda aquí. Para este tutorial, usaremos hello-world-python.
- Rol: creará un rol de IAM (denominado rol de ejecución) con los permisos necesarios que AWS Lambda pueda asumir para invocar la función de Lambda en su nombre.
- Nombre del rol: lambda_basic_execution.
Código de función de Lambda:
en esta sección, puede examinar el código de ejemplo creado en Python.
Para continuar con la creación de su función:
b. Seleccione usar un esquema.
c. En el recuadro Nombre del esquema, asegúrese de que la función Hello world con el esquema de Python 3.10 esté seleccionada.
d. En el recuadro Nombre de la función, escriba hello-world-python.
e. En Rol de ejecución, seleccione Crear un nuevo rol a partir de plantillas de políticas de AWS.
f. En el recuadro Nombre del rol, escriba lambda_basic_execution.
g. Presione el botón Crear función.
Tras crear la función, revise los demás ajustes.
- Versión ejecutable: actualmente, puede crear su código de función de Lambda en Java, Node.js, C#, Go o Python. Para este tutorial, estamos usando Python 3.10 como versión ejecutable.
- Controlador: puede especificar un controlador (método/función en su código) donde AWS Lambda pueda comenzar a ejecutar su código. AWS Lambda proporciona datos de evento de entrada a este controlador, que procesa el evento.
En este ejemplo, Lambda identifica esto a partir del ejemplo de código y debe completarse previamente con lambda_function.lambda_handler.
La consola muestra la función de Lambda hello-world-python. Ahora puede probar la función, verificar los resultados y revisar los registros.
a. Seleccione Configurar evento de prueba desde el menú desplegable denominado Prueba.
b. El editor aparece para que pueda ingresar un evento para probar su función.
- Seleccione Crear nuevo evento.
- Escriba un nombre de evento como HelloWorldEvent.
- Retenga la configuración predeterminada de Privado para la configuración de uso compartido de eventos.
- Elija hello-world desde la lista de plantillas.
- Puede cambiar los valores en el JSON de muestra, pero no cambie la estructura del evento. Para este tutorial, sustituya value1 por hello, world!
Seleccione Crear.
c. Elija Prueba.
d. Una vez realizada la ejecución con éxito, vea los resultados en la consola:
- La pestaña Resultados de la ejecución verifica que la ejecución se realizó correctamente.
- La sección Registros de funciones mostrará los registros generados por la ejecución de la función de Lambda, así como la información clave notificada en el resultado del registro.
AWS Lambda supervisa de forma automática las funciones de Lambda y proporciona informes de métricas a través de Amazon CloudWatch. Para ayudarle a monitorizar el código que ejecuta, Lambda controla automáticamente la cantidad de solicitudes, la latencia por solicitud y el número de solicitudes que han resultado en un error, y publica las métricas asociadas.
a. Invoque la función de Lambda unas cuantas veces más eligiendo repetidamente el botón Prueba. Se generarán las métricas que se pueden ver en el siguiente paso.
b. Seleccione la pestaña Monitorización para ver los resultados.
c. Desplácese para ver las métricas de la función de Lambda. Las métricas de Lambda se proporcionan en informes a través de Amazon CloudWatch. Puede utilizarlas para configurar alarmas personalizadas. Para obtener más información sobre CloudWatch, consulte laGuía para desarrolladores de Amazon CloudWatch.
La pestaña Monitorización mostrará siete métricas de CloudWatch: Invocaciones, Duración, Recuento de errores y tasa de éxito (%), Limitaciones, Errores de entrega asincrónica, IteratorAge y Ejecuciones simultáneas.
Con AWS Lambda, paga por lo que utiliza. Una vez que supera el límite del nivel gratuito de AWS Lambda, se le cobra en función de la cantidad de solicitudes de sus funciones (recuento de invocaciones) y el tiempo durante el que se ejecuta su código (duración de las invocaciones). Para obtener más información, consulte los precios de AWS Lambda.
Aunque no se le cobrará por mantener la función de Lambda, puede eliminarla de la consola de AWS Lambda.
a. Seleccione el botón Acciones y seleccione Eliminar función.
Conclusión
¡Enhorabuena! Ha creado su primera función de AWS Lambda. Este es el primer paso para aprender cómo ejecutar aplicaciones sin tener que aprovisionar ni administrar servidores. Lambda escala sus aplicaciones automáticamente ejecutando su código como respuesta a cada activador, escalando en función del tamaño de sus cargas de trabajo.