

# Introducción a la consola de la API de REST
<a name="getting-started-rest-new-console"></a>

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](https://aws.amazon.com/free/).

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.\]](http://docs.aws.amazon.com/es_es/apigateway/latest/developerguide/images/getting-started-overview-rest.png)


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](setting-up.md).

**Topics**
+ [Paso 1: Crear una función Lambda](#getting-started-rest-new-console-create-function)
+ [Paso 2: Crear una API de REST](#getting-started-rest-new-console-create-api)
+ [Paso 3: Crear una integración de proxy de Lambda](#getting-started-rest-new-console-create-integration)
+ [Paso 4: Implementar la API](#getting-started-rest-new-console-deploy)
+ [Paso 5: Invocar la API](#getting-started-rest-new-console-invoke-api)
+ [(Opcional) Paso 6: limpiar](#getting-started-cleanup-rest)

## Paso 1: Crear una función Lambda
<a name="getting-started-rest-new-console-create-function"></a>

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/](https://console.aws.amazon.com/lambda).

1. Elija **Create function (Crear función)**.

1. En **Basic information (Información básica)**, para **Function name (Nombre de función)**, escriba **my-function**.

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

1. Seleccione **Creación de 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](set-up-lambda-proxy-integrations.md#api-gateway-simple-proxy-for-lambda-output-format).

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 name="getting-started-rest-new-console-create-api"></a>

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](https://console.aws.amazon.com/apigateway).

1. Realice una de las siguientes acciones:
   + 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**.

1.  En **API name (Nombre de la API)**, escriba**my-rest-api**.

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

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

1. En **Tipo de dirección IP**, seleccione **IPv4**.

1. Seleccione **Crear API**.

## Paso 3: Crear una integración de proxy de Lambda
<a name="getting-started-rest-new-console-create-integration"></a>

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**.

1. En **Tipo de método**, seleccione `ANY`.

1. En **Tipo de integración**, seleccione **Lambda**.

1. Active **Integración de proxy de Lambda**.

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

1. Elija **Crear método**.

## Paso 4: Implementar la API
<a name="getting-started-rest-new-console-deploy"></a>

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

**Para implementar su API**

1. Elija **Implementar API**.

1. En **Etapa**, seleccione **Nueva etapa**.

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

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

1. 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
<a name="getting-started-rest-new-console-invoke-api"></a>

**Para invocar la API**

1. En el panel de navegación principal, elija **Etapa**.

1. 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.\]](http://docs.aws.amazon.com/es_es/apigateway/latest/developerguide/images/getting-started-rest-invoke-url.png)

1. 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.

1. 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
<a name="getting-started-cleanup-rest"></a>

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**.

1. 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/](https://console.aws.amazon.com/lambda).

1. En la página **Funciones**, seleccione la función. Elija **Acciones**, **Eliminar**.

1. 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)](https://console.aws.amazon.com/cloudwatch/home#logs:) de la consola Amazon CloudWatch.

1. 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**.

1. En el cuadro de diálogo **Eliminar grupos de registros**, elija **Eliminar**.

**Para eliminar el rol de ejecución de una función de Lambda**

1. Abra la [página Roles](https://console.aws.amazon.com/iam/home?#/roles) en la consola de IAM.

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

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

1. 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 CloudFormation, consulte las [plantillas de ejemplo de API Gateway](https://github.com/awsdocs/amazon-api-gateway-developer-guide/tree/main/cloudformation-templates) en el repositorio GitHub de **awsdocs**.