Introducción a AWS
Cree una aplicación Web básica
Implemente una aplicación Web y agregue interactividad con una API y una base de datos
Módulo 2: crear una función sin servidor
En este módulo creará una función sin servidor utilizando AWS Lambda.
Introducción
En este módulo escribirá una pequeña porción de código en Python, JavaScript o Java, que luego se utilizará en otro módulo para agregarle interactividad al sitio Web. Utilizará el servicio de AWS Lambda, un servicio informático que nos permitirá crear las funciones sin servidor. (Las “funciones sin servidor” eliminan la necesidad de que el desarrollador administre el software y hardware. En lugar de eso, las aplicaciones se dividen en funciones individuales que se pueden invocar y escalar de manera individual).
Estas funciones sin servidor se activan en función de un evento específico que debe definir en el código. También es un servicio muy asequible, ya que solamente se le cobrará la cantidad de eventos que procese, no el tiempo de inactividad. Y lo mejor de todo es que no deberá preocuparse por la administración de los servidores.
Lo que aprenderá
- Crear una función de Lambda desde el principio, utilizando la consola de AWS (en Python, JavaScript o Java)
- Crear eventos (JSON) en la consola de AWS para probar la función
Conceptos clave
Servicio informático: se trata de un servicio que brinda potencia de procesamiento informático.
Función sin servidor: es una porción del código que ejecutará un servicio informático, bajo demanda.
Lambda Trigger: se trata del tipo de evento que permitirá la ejecución de la función de Lambda (sin servidor). Puede ser otro servicio de AWS o un aporte externo.
Tiempo de realización
5 minutos
Servicios utilizados
Implementación
-
Cree y configure la función Lambda
-
Python
-
JavaScript
-
Java
-
Python
-
- En una nueva pestaña en el navegador, inicie sesión en la Consola de AWS Lambda.
- Asegúrese de verificar en qué región está creando la función. Podrá ver ese detalle en la parte superior de la página, junto al nombre de la cuenta.
- Haga clic en el botón naranja “Crear función”.
- En el campo “Nombre de la función” escriba HelloWorldFunction.
- Seleccione Python 3.8 en el menú desplegable de tiempo de ejecución.
6. Haga clic en el botón naranja “Crear función”.
7. En la parte superior de la pantalla verá un cuadro verde con el siguiente mensaje: “La función se creó correctamente”.
8. Reemplace el código en el campo “Código de la función” con lo siguiente:
# import the JSON utility package since we will be working with a JSON object import json # define the handler function that the Lambda service will use an entry point def lambda_handler(event, context): # extract values from the event object we got from the Lambda service name = event['firstName'] +' '+ event['lastName'] # return a properly formatted JSON object return { 'statusCode': 200, 'body': json.dumps('Hello from Lambda, ' + name) }
9. Haga clic en el botón naranja “Guardar” que se encuentra en la parte superior de la pantalla.
10. Ahora debemos probar la función nueva. En la parte superior de la pantalla, haga clic en “Seleccionar un evento de prueba”.
11. En el menú desplegable, haga clic en “Configurar eventos de prueba”.
12. En el campo “Nombre del evento” escriba HelloWorldTestEvent.
13. Copie y pegue el siguiente objeto JSON para reemplazar el objeto predeterminado:
{ "firstName": "Ada", "lastName": "Lovelace" }
14. Haga clic en el botón naranja “Crear” al final de la página.
-
JavaScript
-
- En una nueva pestaña en el navegador, inicie sesión en la Consola de AWS Lambda.
- Asegúrese de verificar en qué región está creando la función. Podrá ver ese detalle en la parte superior de la página, junto al nombre de la cuenta.
- Haga clic en el botón naranja “Crear función”.
- En el campo “Nombre de la función” escriba HelloWorldFunction.
- Seleccione Node.js 12.x en el menú desplegable de tiempo de ejecución.
6. Haga clic en el botón naranja “Crear función”.
7. En la parte superior de la pantalla verá un cuadro verde con el siguiente mensaje: “La función se creó correctamente”.
8. Reemplace el código en el campo “Código de la función” con lo siguiente:
// Define handler function, the entry point to our code for the Lambda service // We receive the object that triggers the function as a parameter exports.handler = async (event) => { // Extract values from event and format as strings let name = JSON.stringify(`Hello from Lambda, ${event.firstName} ${event.lastName}`); // Create a JSON object with our response and store it in a constant const response = { statusCode: 200, body: name }; // Return the response constant return response; };
9. Haga clic en el botón naranja “Guardar” que se encuentra en la parte superior de la pantalla.
10. Ahora debemos probar la función nueva. En la parte superior de la pantalla, haga clic en “Seleccionar un evento de prueba”.
11. En el menú desplegable, haga clic en “Configurar eventos de prueba”.
12. En el campo “Nombre del evento” escriba HelloWorldTestEvent.
13. Copie y pegue el siguiente objeto JSON para reemplazar el objeto predeterminado:
{ "firstName": "Ada", "lastName": "Lovelace" }
14. Haga clic en el botón naranja “Crear” al final de la página.
-
Java
-
- En una nueva pestaña en el navegador, inicie sesión en la Consola de AWS Lambda.
- Asegúrese de verificar en qué región está creando la función. Podrá ver ese detalle en la parte superior de la página, junto al nombre de la cuenta.
- Haga clic en el botón naranja “Crear función”.
- En el campo “Nombre de la función” escriba HelloWorldFunction.
- Seleccione Java 11 en el menú desplegable de tiempo de ejecución.
6. Haga clic en el botón naranja “Crear función”.
7. En la parte superior de la pantalla verá un cuadro verde con el siguiente mensaje: “La función se creó correctamente”.
8. Ha creado una función Lambda con una clase de gestor denominada Hello. Dado que el lenguaje Java es complicado, no podrá ver o editar el código fuente en la consola Lambda, pero podrá modificar su configuración, invocarla y configurar disparadores.
9. Para actualizar el código de la función deberá crear un paquete de implementación, que será un archivo JAR o ZIP que contendrá el código de la función. Para este tutorial, brindamos el archivo JAR con el código de la función actualizado aquí.
10. Diríjase a “Código de la función” y cargue el archivo JAR.
11. Actualice el “Gestor” a com.example.app.LambdaRequestHandler::handleRequest.
12. Haga clic en el botón naranja “Guardar” que se encuentra en la parte superior de la pantalla.
13. Ahora debemos probar la función nueva. En la parte superior de la pantalla, haga clic en “Seleccionar un evento de prueba”.
14. En el menú desplegable, haga clic en “Configurar eventos de prueba”.
15. En el campo “Nombre del evento” escriba HelloWorldTestEvent.
16. Copie y pegue el siguiente objeto JSON para reemplazar el objeto predeterminado:
{ "firstName": "Ada", "lastName": "Lovelace" }
17. Haga clic en el botón naranja “Crear” al final de la página.
-
-
Pruebe la función Lambda
- Haga clic en el botón gris “Probar” en la parte superior de la página.
- En la parte superior de la página verá un cuadro verde claro con el siguiente texto: “Resultado de la ejecución: correcta”. Puede hacer clic en “Detalles” para ver el evento que arroja la función.
- ¡Bien hecho! Ahora la función Lambda funciona correctamente.
Arquitectura de aplicaciones
Ahora que ya terminamos este módulo, la arquitectura se verá de la siguiente manera:

Notará que agregamos el servicio AWS Lambda, pero este aún no está conectado a AWS Amplify o a los usuarios. Eso lo haremos en el próximo módulo.