Introducción a API Gateway - Amazon API Gateway

Introducción a API Gateway

En este ejercicio introductorio, creará una API sin servidor. Las API sin servidor permiten centrarse en las aplicaciones, en lugar de dedicar tiempo a aprovisionar y administrar servidores. Puede completar este ejercicio en menos de 20 minutos y realizarlo dentro del nivel gratuito de AWS.

En primer lugar, crea una función de Lambda con la consola de AWS Lambda. A continuación, crea una API HTTP mediante la consola de API Gateway. Luego, invoca su API.

nota

En este ejercicio se utiliza una API HTTP. API Gateway también es compatible con las API de REST, que incluyen más funciones. Para ver un tutorial sobre el uso de una API de REST, consulte Introducción a la consola de la API de REST.

Para obtener más información sobre las diferencias entre las API HTTP y las API de REST, consulte Elección entre las API de REST y las API de HTTP.

Cuando invoca su API HTTP, API Gateway enruta la solicitud a su función de Lambda. Lambda ejecuta la función de Lambda y devuelve una respuesta a API Gateway. API Gateway, a continuación, le devuelve una respuesta.

Información general de la API HTTP creada en este tutorial.

Para completar este ejercicio, necesita una cuenta de AWS y un usuario de AWS Identity and Access Management con acceso a la consola. Para obtener más información, consulte Configuración para usar API Gateway.

Paso 1: Crear una función Lambda

Usa una función de Lambda para el backend de su API. Lambda ejecuta su código solo cuando es necesario y escala de manera automática, desde unas pocas solicitudes por día hasta miles por segundo.

Para este ejemplo, utilice la función Node.js predeterminada de la consola de Lambda.

Para crear una función Lambda, realice el siguiente procedimiento:
  1. Inicie sesión en la consola de Lambda en https://console.aws.amazon.com/lambda/.

  2. Elija Create function (Crear función).

  3. En Function name (Nombre de función), introduzca my-function.

  4. Para todas las demás opciones, utilice la configuración predeterminada.

  5. Elija Create function (Crear función).

La función de ejemplo devuelve una 200 respuesta a los clientes y el texto Hello from Lambda!.

Puede modificar su función de Lambda, siempre y cuando la respuesta de la función se alinea con el formato que requiere API Gateway.

El código predeterminado de la función de Lambda debe ser similar al siguiente:

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

Paso 2: crear una API HTTP

A continuación, cree una API HTTP. API Gateway también admite API REST y API WebSocket, pero una API HTTP es la mejor opción para este ejercicio. Las API de REST son compatibles con más funciones que las API HTTP, pero no las necesitamos para este ejercicio. Las API HTTP están diseñadas con características mínimas para que puedan ofrecerse a un precio más bajo. Las API WebSocket mantienen conexiones persistentes con los clientes para la comunicación dúplex completo, lo cual no es necesario para este ejemplo.

La API HTTP proporciona un punto de enlace HTTP para su función de Lambda. API Gateway enruta las solicitudes a su función de Lambda y, a continuación, devuelve la respuesta de la función a los clientes.

Para crear una API HTTP
  1. Inicie sesión en la consola de API Gateway en https://console.aws.amazon.com/apigateway.

  2. Aplique alguna de las siguientes acciones:

    • Para crear su primera API, para HTTP API (API HTTP), elija Build (Crear).

    • Si ha creado una API antes, elija Create API (Crear API) y, a continuación, elija Build (Crear) para HTTP API (API HTTP).

  3. Para Integrations (Integraciones), elija Add integration (Agregar integración).

  4. Elija Lambda.

  5. En Función Lambda, introduzca my-function.

  6. En API name (Nombre de la API), escribamy-http-api.

  7. Elija Next (Siguiente).

  8. Revise la ruta que API Gateway crea para usted y, a continuación, elija Next (Siguiente).

  9. Revise la etapa que API Gateway crea para usted y, a continuación, elija Next (Siguiente).

  10. Seleccione Create (Crear).

Ahora ha creado una API HTTP con una integración de Lambda que está lista para recibir solicitudes de clientes.

Paso 3: probar la API

A continuación, pruebe su API para asegurarse de que se encuentra en funcionamiento. Para mayor simplicidad, utilice un navegador web para invocar la API.

Para probar la API
  1. Inicie sesión en la consola de API Gateway en https://console.aws.amazon.com/apigateway.

  2. Elija la API.

  3. Tenga en cuenta la URL de invocación de la API.

    Después de crear la API, la consola muestra la URL de invocación de la API.
  4. Copie la URL de invocación de la API y escríbala en un navegador web. Agregue el nombre de la función de Lambda a la URL de invocación para llamar a su función de Lambda. De forma predeterminada, la consola de API Gateway crea una ruta con el mismo nombre que su función de Lambda, my-function.

    La URL completa debería ser https://abcdef123.execute-api.us-east-2.amazonaws.com/my-function.

    Su navegador envía una GET solicitud a la API.

  5. Verifique la respuesta de la API. Debería ver el texto "Hello from Lambda!" en el navegador.

(Opcional) Paso 4: limpiar

Para evitar costos innecesarios, elimine los recursos creados como parte de este ejercicio introductorio. Los siguientes pasos eliminan la API HTTP, la función de Lambda y los recursos asociados.

Para eliminar una API HTTP
  1. Inicie sesión en la consola de API Gateway en https://console.aws.amazon.com/apigateway.

  2. En la página API, seleccione una API. Seleccione Actions y, luego, Delete.

  3. Elija Eliminar.

Para eliminar una función de Lambda
  1. Inicie sesión en la consola de Lambda en https://console.aws.amazon.com/lambda/.

  2. En la página Functions (Funciones), seleccione una función. Seleccione Actions y, luego, Delete.

  3. Elija Eliminar.

Para eliminar el grupo de registro de una función de Lambda
  1. En la consola de Amazon CloudWatch, abra la página de grupos de registro.

  2. En la página Grupos de registro, seleccione el grupo de registro de la función (/aws/lambda/my-function). Elija Actions (Acciones) y, a continuación, elija Delete log group (Eliminar grupo de registro).

  3. Elija Eliminar.

Para eliminar el rol de ejecución de una función de Lambda
  1. En la consola de AWS Identity and Access Management, abra la página Roles (Roles).

  2. Seleccione el rol de la función, por ejempl, my-function-31exxmpl.

  3. Elija Delete role (Eliminar rol).

  4. Elija Sí, eliminar.

Puede automatizar la creación y la limpieza de los recursos de AWS mediante el uso de AWS CloudFormation o AWS SAM. Para obtener plantillas de AWS CloudFormation de ejemplo, consulte las plantillas de AWS CloudFormation de ejemplo.

Pasos siguientes

Para este ejemplo, se utilizó la AWS Management Console para crear una API HTTP simple. La API HTTP invoca una función de Lambda y devuelve una respuesta a los clientes.

A continuación, se indican los pasos siguientes a medida que continúa trabajando con API Gateway.

Para obtener ayuda de la comunidad con Amazon API Gateway, consulte el foro de debate de API Gateway. Cuando ingrese a este foro, es posible que AWS requiera que inicie sesión.

Para obtener ayuda sobre API Gateway directamente de AWS, consulte las distintas opciones de soporte que se ofrecen en la página de AWS Support.

Consulte también nuestras preguntas frecuentes o contacte con nosotros directamente.