Creación de una implementación de una API de REST en API Gateway - Amazon API Gateway

Creación de una implementación de una API de REST en API Gateway

En API Gateway, la implementación de una API de REST se representa mediante un recurso Deployment. Es similar a un ejecutable de una API al cual representa un recurso RestAPI.

Para que el cliente pueda llamar a la API, debe crear una implementación y asociarle una etapa. Las etapas se representan mediante recursos Stage. Representa una instantánea de la API que incluye métodos, integraciones, modelos, plantillas de mapeo y autorizadores de Lambda (anteriormente conocidos como autorizadores personalizados). Cuando actualiza la API, puede implementarla de nuevo asociando una nueva etapa a la implementación existente. Explicaremos cómo se crea un etapa en Configuración de una etapa para una API de REST en API Gateway.

Creación de una implementación

En los procedimientos siguientes se muestra cómo crear una implementación para una API de REST.

AWS Management Console

Debe haber creado una API de REST antes de implementarla por primera vez. Para obtener más información, consulte Desarrollo de las API de REST en API Gateway.

La consola de API Gateway le permite implementar una API creando una implementación y asociándola a una etapa nueva o una existente.

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

  2. En el panel de navegación APIs, elija la API que desea implementar.

  3. En el panel Resources (Recursos), elija Deploy API (Implementar API).

  4. En Etapa, seleccione una de las siguientes opciones:

    1. Para crear una nueva etapa, seleccione Nueva etapa y, a continuación, ingrese un nombre en Nombre de la etapa. Si lo desea, puede proporcionar una descripción de la implementación en Descripción de la implementación.

    2. Para elegir una etapa existente, seleccione el nombre de la etapa en el menú desplegable. Es posible que desee proporcionar una descripción de la nueva implementación en Descripción de la implementación.

    3. Para crear una implementación que no esté asociada a una etapa, seleccione Sin etapa. Más adelante, puede asociar esta implementación a una etapa.

  5. Elija Implementar.

AWS CLI

Cuando se crea una implementación, se crea una instancia del recurso Deployment. Para crear una implementación, puede utilizar la consola de API Gateway, la AWS CLI, un AWS SDK o la API REST de API Gateway.

Si crea una implementación a través de la CLI, utilice el comando create-deployment:

aws apigateway create-deployment --rest-api-id <rest-api-id> --region <region>

La API no se puede invocar hasta que esta implementación se asocia a una etapa. Si ya hay una etapa, puede hacerlo actualizando la propiedad deploymentId de la etapa con el ID de implementación que acaba de crear (<deployment-id>).

aws apigateway update-stage --region <region> \ --rest-api-id <rest-api-id> \ --stage-name <stage-name> \ --patch-operations op='replace',path='/deploymentId',value='<deployment-id>'

Cuando se implementa una API por primer vez, la etapa y la implementación se pueden crear al mismo tiempo:

aws apigateway create-deployment --region <region> \ --rest-api-id <rest-api-id> \ --stage-name <stage-name>

Esto es lo que ocurre en segundo plano en la consola de API Gateway cuando la API se implementa por primera vez o cuando se implementa en una nueva etapa.

Para volver a implementar una API, realice los mismos pasos. Puede volver a utilizar la misma etapa tantas veces como desee.

Próximos pasos para la implementación de la API

A continuación, se indican los pasos siguientes para la implementación de la API.

Modificación de la configuración de etapa

Una vez que se implementa una API, puede modificar la configuración de las etapas para habilitar o deshabilitar el almacenamiento en caché, el registro o los límites de solicitudes de la API. También puede elegir un certificado de cliente para que el backend autentique a API Gateway y definir variables de etapa para pasar el contexto de implementación a la integración de la API en el tiempo de ejecución. Para obtener más información, consulte Modificación de la configuración de etapa

Después de modificar la configuración de la etapa, es necesario volver a implementar la API para que los cambios surtan efecto.

nota

Si la configuración actualizada, como habilitar el registro, requiere un nuevo rol de IAM, puede agregar el rol de IAM necesario sin tener que volver a implementar la API. No obstante, el nuevo rol de IAM podría tardar unos minutos en empezar a funcionar. Antes de que esto ocurra, los registros de seguimiento de las llamadas a la API no se registran aunque haya habilitado la opción de registro.

Elección de diferentes combinaciones de etapas de implementación

Como una implementación representa una snapshot de API y una etapa define una ruta en una snapshot, puede elegir diferentes combinaciones de etapas de implementación para controlar la forma en que los usuarios llaman a diferentes versiones de la API. Esto resulta útil, por ejemplo, cuando desea restaurar el estado de la API a una implementación anterior o combinar una "ramificación privada" de la API con una pública.

El siguiente procedimiento muestra cómo hacer esto con el editor de etapas en la consola de API Gateway. Se supone que debe haber implementado una API más de una vez.

  1. Si aún no está en el panel Etapas, en el panel de navegación principal, elija Etapas.

  2. Seleccione la etapa que desea actualizar.

  3. En la pestaña Historial de implementación, seleccione la implementación que desea que utilice la etapa.

  4. Elija Cambiar implementación activa.

  5. Confirme que desea cambiar la implementación activa y elija Cambiar implementación activa en el cuadro de diálogo Crear implementación activa.

Transfiera los datos específicos de la implementación a su API.

Para una implementación, puede definir o modificar variables de etapa para pasar datos específicos de la implementación a la integración de la API en tiempo de ejecución. Puede hacer esto en la pestaña Stage Variables (Variables de etapa) en Stage Editor (Editor de etapas). Para obtener más información, consulte las instrucciones de Uso de variables de etapa para una API de REST en API Gateway.