Introducción a la consola de la API de REST - Amazon API Gateway

Introducción a la consola de la API de REST

En este ejercicio de introducción, debe crear una API de REST sin servidor con la consola de API de REST de API Gateway. Las API sin servidor permiten centrarse en las aplicaciones, en lugar de dedicar el tiempo a aprovisionar y administrar servidores. Se debe completar este ejercicio en menos de 20 minutos y se debe realizar dentro del nivel gratuito de AWS.

En primer lugar, crea una función de Lambda con la consola de Lambda. A continuación, debe crear una API de REST mediante la consola de API de REST de la API Gateway. A continuación, se crea un método de API y se integra con una función de Lambda mediante una integración de proxy de Lambda. Por último, debe implementar e invocar la API.

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

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

Para completar este ejercicio, necesita una Cuenta de AWS y un usuario de AWS Identity and Access Management (IAM) 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 ejercicio, debe usar la función Node.js predeterminada en la consola de Lambda.

Cómo crear una función de Lambda
  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 Basic information (Información básica), para Function name (Nombre de función), escriba my-function.

  4. Elija Crear función.

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('The API Gateway REST API console is great!'), }; return response; };

Puede modificar la función de Lambda para este ejercicio, siempre y cuando la respuesta de la función se alinee con el formato que requiere API Gateway.

Sustituya el cuerpo de respuesta predeterminado (Hello from Lambda!) por The API Gateway REST API console is great!. Al invocar la función de ejemplo, devuelve una respuesta 200 a los clientes, junto con la respuesta actualizada.

Paso 2: Crear una API de REST

A continuación, debe crear una API de REST con un recurso raíz (/).

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

  2. Realice una de las siguientes acciones siguientes:

    • Para crear la primera API, para API de REST, elija Crear.

    • Si ha creado una API antes, elija Crear API y, a continuación, elija Crear para API de REST.

  3. En API name (Nombre de la API), escribamy-rest-api.

  4. (Opcional) En Description (Descripción), introduzca una descripción.

  5. Mantenga Tipo de punto de conexión de la API establecido en Regional.

  6. Seleccione Crear API.

Paso 3: Crear una integración de proxy de Lambda

A continuación, debe crear un método de API para la API de REST en el recurso raíz (/) e integrar el método con la función de Lambda mediante una integración de proxy. En una integración de proxy de Lambda, API Gateway pasa la solicitud entrante del cliente directamente a la función de Lambda.

Para crear una integración de proxy de Lambda
  1. Seleccione el recurso / y, a continuación, elija Crear método.

  2. En Tipo de método, seleccione ANY.

  3. En Tipo de integración, seleccione Lambda.

  4. Active Integración de proxy de Lambda.

  5. En Función de Lambda, ingrese my-function y, continuación, seleccione la función de Lambda.

  6. Elija Crear método.

Paso 4: Implementar la API

Después, debe crear una implementación de la API y asociarla con una etapa.

Para implementar su API
  1. Elija Deploy API (Implementar API).

  2. En Etapa, seleccione Nueva etapa.

  3. En Stage name (Nombre de etapa), escriba Prod.

  4. (Opcional) En Description (Descripción), introduzca una descripción.

  5. Elija Implementar.

Ahora los clientes pueden llamar a la API. Para probar la API antes de implementarla, puede elegir, si lo desea, el método ANY, ir a la pestaña Probar y, a continuación, elegir Probar.

Paso 5: Invocar la API

Para invocar la API
  1. En el panel de navegación principal, elija Etapa.

  2. En Detalles de la etapa, elija el icono de copia para copiar la URL de invocación de la API.

    Después de crear la API de REST, la consola muestra la URL de invocación de la API.
  3. Ingrese la URL de invocación en un navegador web.

    La URL completa debería ser https://abcd123.execute-api.us-east-2.amazonaws.com/Prod.

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

  4. Verifique la respuesta de la API. Debería ver el texto "The API Gateway REST API console is great!" en el navegador.

(Opcional) Paso 6: limpiar

Para evitar acumular costos innecesarios en la Cuenta de AWS, elimine los recursos creados como parte de este ejercicio. Los siguientes pasos eliminan la API de REST, la función de Lambda y los recursos asociados.

Para eliminar la API de REST
  1. En el panel Recursos, elija Acciones de la API y Eliminar API.

  2. En el cuadro de diálogo Eliminar API, escriba confirmar y después elija Eliminar.

Para eliminar la 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 Funciones, seleccione la función. Elija Acciones, Eliminar.

  3. En el cuadro de diálogo Eliminar 1 función, escriba delete y, a continuación, elija Eliminar.

Para eliminar el grupo de registro de la función de Lambda
  1. Abra la página Log grouls (Grupos de registro) de la consola Amazon CloudWatch.

  2. En la página Grupos de registro, seleccione el grupo de registro de la función (/aws/lambda/my-function). A continuación, en Acciones, elija Eliminar grupos de registros.

  3. En el cuadro de diálogo Delete log group(s), Eliminar grupo(s) de registro(s) elija Delete (Eliminar).

Para eliminar el rol de ejecución de una función de Lambda
  1. Abra la página Roles en la consola de IAM.

  2. (Opcional) En la página Roles, en el cuadro de búsqueda, ingrese my-function.

  3. Seleccione el rol de la función (por ejemplo, my-function-31exxmpl) y, a continuación, elija Eliminar.

  4. En el cuadro de diálogo ¿Eliminar my-function-31exxmpl?, escriba el nombre del rol y, a continuación, elija Eliminar.

sugerencia

Puede automatizar la creación y la limpieza de los recursos de AWS mediante el uso de AWS CloudFormation o AWS Serverless Application Model (AWS SAM). Para ver algunas plantillas de ejemplo de AWS CloudFormation, consulte las plantillas de ejemplo de API Gateway en el repositorio GitHub de awsdocs.