Lambda and API Gateway

Luis Ramirez
3 min readMar 19, 2023

--

Con este ejercicio se busca explicar de manera práctica como crear una función Lambda y consumir esta función mediante el API Gateway.

Paso 1. Crear la función Lambda

  • Debes iniciar sesión en la consola de Lambda: https://console.aws.amazon.com/lambda.
  • Dar clic en el botón crear una función
  • Escogemos la opción crear desde cero, ingresamos el nombre de la función, en este caso será my-function y seleccionamos el lenguaje de programación.
  • Dar clic en el botón crear una función

Por defecto el código de la función será la siguiente:

 export const handler = async (event) => {
const response = {
statusCode: 200,
body: JSON.stringify('Hello from Lambda!'),
};
return response;
};

Realizaremos unas modificaciones, para recibir parametros y obtener un mensaje personalizado, debe quedar de la siguiente forma:

export const handler = async (event) => {
const queryParams = event.queryStringParameters

const response = {
statusCode: 200,
body: JSON.stringify('Hola ' + queryParams.name + 'bienvenido!. Felicitaciones, estas usando Lambda Function.'),
};

return response;
};

Nótese que para capturar los parámetros enviado desde un “cliente” usamos queryStringParameters. En este caso, tenemos un parámetro llamada name.

Paso 2. Crear HTTP API

  • Debes iniciar sesión en la consola de API Gateway: https://console.aws.amazon.com/apigateway.
  • Dar clic en el botón crear API
  • API Gateway tiene varias tipos de API (API HTTP, API de WebSocket, API Rest y API Rest privada). Escogemos el tipo API HTTP.
  • En Integraciones, dar clic en Agregar Integraciones, seleccionamos Lambda.
  • Escogemos la función Lambda que se creó en el Paso 1
  • Agregamos un nombre a la API, en este caso la llamaremos my-http-api y clic en l botón siguiente.
  • En Configuración de rutas, para este caso seleccionamos el método POST y clic en el botón siguiente
  • En Configuración de etapas, dejamos por defecto las configuraciones y clic en el botón siguiente.
  • En Resumen general clic en crear

El resultado de crear la API

Summary API

Nótese que la URL de invocación es la siguiente: https://n91801jko8.execute-api.us-east-2.amazonaws.com

Para poder consumir esta API, a la URL de invocación se le debe agregar la ruta que se le asigno cuando seleccionamos el método para consumir la API: url_invocacion/ruta

Debe quedar de la siguiente forma: https://n91801jko8.execute-api.us-east-2.amazonaws.com/my-function

Paso 3. Probar el API

Para invocar el API y ejecutar la función Lambda, vamos a utilizar un herramientas para probar APIS, en este caso INSOMNIA.

Test API with INSOMNIA

Nótese que realizamos la petición con el método POST (en caso se pruebe con otro método, retornará un 404), agregamos los parámetros que recibirá la función Lambda y obtenemos el mensaje personalizado.

--

--

Luis Ramirez
Luis Ramirez

Written by Luis Ramirez

Founder STARK & AV | Co-Founder of ANDHEURIS| Software Engineer | Product Manager