DEV Community

camilo cabrales
camilo cabrales

Posted on

Api Gateway HTTP API

Generalmente cuando vamos a crear un nuevo api solemos utilizar API REST (con funciones lambda en AWS).Sin embargo otro tipo de API que nos permite crear AWS es HTTP API que tiene algunas diferencias con las API REST (ver referencias).

Los API HTTP los podemos usar para unificar diferentes servicios que hayamos creado o de terceros con el objetivo de unificar el punto de acceso. Podemos utilizar endpoints de LoadBalancer, servicios expuestos por diferentes contenedores, hacer referencia a apis propios o de terceros.

En este ejemplo vamos a crear un HTTP API para que utilice dos api (free) creadas por terceros. La primera retorna los datos horarios de un país, la otra api nos da sugerencia de actividades a realizar.

1.Buscamos en servicio API Gateway y en la pagina de inicio seleccionamos build de la caja HTTP API.

Asign name api

2.En la siguiente vamos a asignar un nombre a nuestra api y asignar las integraciones. Las integraciones son los api con los cuales queremos que nuestra api interactúe, en este caso son los servicios de terceros que queremos unificar bajo nuestra api.

worldtimeapi
boredapi

3.Asignamos el nombre a nuestra API.

Api Name

4.Agregamos nuestras integraciones que para este caso son HTTP.

Api Name

Seleccionamos el tipo de Integración HTTP

Tipo de integracion

Seleccionamos el tipo de metodo y agregamos el END POINT

Integracion 1

Realizamos los mismos pasos para el segundo end point

Integracion 1

5.Al dar siguiente veremos una pantalla como la siguiente, donde podemos definir las rutas de nuestros servicios asociados a las integraciones que acabamos de crear.

Routes

6.En el siguiente paso vamos a definir el nombre para nuestro stage y vamos a definir si queremos que al realizar un nuevo cambio en las integraciones o rutas se despliegue automáticamente y los cambios se vean reflejados de maneara "inmediata".

stage

7.Al dar siguiente podemos revisar que todas las configuraciones realizadas sean correctas y damos click en crear.

review

8.Al crear nuestro stage vamos a ver en la siguiente pantalla la ruta principal donde vamos a poder consultar nuestros servicios.

stage route

ahora para acceder a nuestros servicios lo que debemos hacer es concatenar a la ruta principal la ruta de cada uno de los servicios creados.

rutastage/api/activity
rutastage/api/timezone

Que para mi caso queda de la siguiente forma:

https://javg0gqvpb.execute-api.us-east-2.amazonaws.com/api/activity

https://javg0gqvpb.execute-api.us-east-2.amazonaws.com/api/timezone

Con esto hemos creado un punto de acceso en común para el consumo de nuestros servicios, facilitando así su consumo e implementado una buena practica de desarrollo para el uso de Microservicios.

diagram

Me pueden encontrar en

Camilo Cabrales

Referencias

Diferencias entre REST Y HTTP API

Top comments (0)