Implementa las API de Cloud Endpoints en API Gateway
Cloud Endpoints es un sistema de administración de API que te ayuda a proteger, supervisar, analizar y establecer cuotas en tus APIs. Endpoints usa el proxy de servicio extensible (ESP) o el proxy de servicio extensible V2 Beta (ESPv2 Beta) para alojar tus APIs.
Cuando usas extremos, tienes tres opciones para definir tu API:
- Cloud Endpoints para OpenAPI
- Cloud Endpoints para gRPC
- Cloud Endpoints Frameworks para el entorno estándar de App Engine
Desarrolla API con API Gateway
API Gateway admite las API que se describen con la especificación de OpenAPI, versión 2.0. Esto significa que puedes implementar tus especificaciones de OpenAPI desde Endpoints en API Gateway.
Implementa especificaciones de OpenAPI de Endpoints en API Gateway
API Gateway admite las mismas opciones y el formato de especificación de OpenAPI que admite Cloud Endpoints para OpenAPI. Esto significa que puedes usar las mismas definiciones de seguridad, cuota y otras de las especificaciones de OpenAPI de Endpoints para definir una API en API Gateway.
La única diferencia entre Endpoints y API Gateway es cómo procesan la propiedad host
en la definición de especificación de OpenAPI:
- En Endpoints, configura la propiedad
host
en la parte del nombre de host de la URL que se creó cuando implementaste el ESP, donde ESP es el servicio que se usó para alojar la API de Endpoints. - En API Gateway, omite
host
o configúralo en el nombre de DNS de la API implementada. Los proveedores de API suelen establecerlo en el nombre de DNS cuando comparten la especificación de OpenAPI con sus consumidores de API. Sin embargo, API Gateway no aplica el valor de la propiedadhost
.
Por ejemplo, la siguiente es una parte de una especificación de OpenAPI que usa Endpoints para definir una API que permite acceder a un servicio de backend implementado en funciones de Cloud Run:
swagger: '2.0' info: title: Cloud Endpoints + GCF description: Sample API on Cloud Endpoints with a Google Cloud Functions backend version: 1.0.0 host: ESP_HOST schemes: - https produces: - application/json paths: /hello: ...
Para Endpoints, puedes hacer lo siguiente:
Implementa el ESP, que crea la URL que luego usarás para acceder a las API implementadas en el ESP. Por ejemplo:
https://gateway-12345-uc.a.run.app
Edita la especificación de OpenAPI para establecer la propiedad
host
en el nombre de dominio de la URL del ESP. Por ejemplo:host: gateway-12345-uc.a.run.app
Implementa la especificación de OpenAPI en ESP.
Accede a tu API con la URL del ESP. En la especificación de OpenAPI anterior, el elemento
paths
se establece en/hello
para que puedas acceder a esta API con la siguiente URL:https://gateway-12345-uc.a.run.app/hello
Como puedes ver, para Endpoints, primero debes implementar ESP para poder establecer el valor de la propiedad host
.
Si deseas usar esta definición de API a fin de crear una configuración de API para API Gateway, puedes borrar la propiedad host
por completo o dejarla en el archivo.
En API Gateway, no se aplica el valor de la propiedad host
.
La URL de la puerta de enlace implementada y, por lo tanto, la URL que usan tus clientes para acceder a tu API, se define cuando creas la puerta de enlace, en el siguiente formato:
https://GATEWAY_ID-HASH.REGION_CODE.gateway.dev
donde GATEWAY_ID es el nombre de la puerta de enlace, HASH es el código hash único que se generó cuando se implementó la API y REGION_CODE es el código de la regiónGoogle Cloud en la que implementaste la puerta de enlace.
Después de implementar una API en una instancia de puerta de enlace, la URL que usas para acceder a /hello
es la siguiente:
https://my-gateway-a12bcd345e67f89g0h.uc.gateway.dev/hello
Para obtener más información sobre la implementación de API, consulta Modelo de implementación de API Gateway.
Para obtener más información sobre cómo crear la especificación de OpenAPI para tu definición de API, consulta Descripción general de OpenAPI.