Implementación de las API de REST en API Gateway
Después de crear la API, debe implementarla para que los usuarios puedan llamarla.
Para implementar una API, debe crear una implementación de API y asociarla con una etapa. Una referencia lógica a un estado del ciclo de vida de la API (por ejemplo, dev
, prod
, beta
, v2
). Las etapas de API se identifican por un ID y un nombre de etapa de API. Se incluyen en la URL que se utiliza para invocar la API. Cada etapa es una referencia con nombre a una implementación de la API y está disponible para que las aplicaciones cliente la invoquen.
importante
Cada vez que actualice una API, debe volver a implementar la API en una etapa existente o en una nueva etapa. La actualización de una API incluye la modificación de rutas, métodos, integraciones, autorizadores, políticas de recursos y cualquier otra cosa que no sea la configuración de la etapa.
A medida que la API va evolucionando, se puede seguir implementando en diferentes etapas como versiones distintas. También puede implementar las actualizaciones de API como una implementación de lanzamiento canary. Esto permite a sus clientes API acceder, en el mismo escenario, a la versión de producción a través de la edición de producción, y a la versión actualizada a través de la edición canary.
Para llamar a una API implementada, el cliente envía una solicitud a una URL de la API. La dirección URL viene determinada por el protocolo de la API (HTTP(S) o (WSS)), el nombre de host, el nombre de la etapa y (para las API de REST) la ruta del recurso. El nombre de host y el nombre de etapa determinan la URL base de la API.
Por ejemplo, si se utiliza el nombre de dominio predeterminado de la API, la URL base de una API REST en una determinada etapa (
) tendrá el siguiente formato:{stageName}
https://
{restapi-id}
.execute-api.{region}
.amazonaws.com/{stageName}
Para simplificar la URL base predeterminada de una API para los usuarios, puede crear un nombre de dominio personalizado (por ejemplo, api.example.com
) para sustituir el nombre de host predeterminado de la API. Para administrar varias API bajo el mismo nombre de domino, debe asignar una etapa de API a una ruta de acceso base.
Con el nombre de dominio personalizado
y la etapa de API mapeada a la ruta base ({api.example.com}
) bajo el nombre de dominio personalizado, la URL base de una API de REST sería: {basePath}
https://
{api.example.com}
/{basePath}
Para cada etapa, puede optimizar el rendimiento de la API ajustando los límites de solicitudes de nivel de cuenta predeterminados y habilitando el almacenamiento en caché de la API. También puede activar el registro de las llamadas a la API a CloudTrail o CloudWatch y puede seleccionar un certificado de cliente para que el backend autentique las solicitudes de la API. Además, puede invalidar la configuración de nivel de etapa en los distintos métodos y definir variables de etapa para pasar contextos de entorno específicos de la etapa a la integración de la API en tiempo de ejecución.
Las etapas permiten realizar un exhaustivo control de versiones de la API. Por ejemplo, puede implementar una API en una etapa test
y una etapa prod
, y utilizar la etapa test
como compilación de pruebas y la etapa prod
como compilación estable. Una vez que las actualizaciones superan la prueba, puede promover la etapa test
como etapa prod
. La promoción puede hacerse mediante la nueva implementación de la API en la etapa prod
o la actualización de un valor de variable de etapa del nombre de etapa de test
a prod
.
En esta sección vamos a hablar sobre cómo implementar una API con la consola de API Gateway