Como implantar as APIs Cloud Endpoints no gateway de API
O Cloud Endpoints é um sistema de gerenciamento de API que ajuda a proteger, monitorar, analisar e definir cotas de APIs. O Endpoints usa o Extensible Service Proxy (ESP) ou o Extensible Service Proxy V2 Beta (ESPv2 Beta) para hospedar suas APIs.
Ao usar o Endpoints, você tem três opções para definir sua API:
- Cloud Endpoints para OpenAPI
- Cloud Endpoints para gRPC
- Cloud Endpoints Frameworks para o ambiente padrão do App Engine
Developing APIs with API Gateway
O Cloud Endpoints e o API Gateway são compatíveis com APIs descritas usando a especificação OpenAPI, OpenAPI 2.0 ou OpenAPI 3.x. Se você usou o OpenAPI para definir suas APIs do Endpoints, isso significa que também é possível implantá-las no gateway de API.
Como implantar as especificações de Endpoints OpenAPI no gateway da API
A API Gateway é compatível com o mesmo formato e opções de definição de especificação OpenAPI compatíveis com o Cloud Endpoints para OpenAPI. Isso significa que é possível usar as mesmas definições de segurança, cota e outras definições das especificações de OpenAPI do Endpoints para definir uma API no gateway de API.
A única diferença entre o Endpoints e o gateway de API é como eles processam a propriedade host na definição da especificação OpenAPI:
- No Endpoints, defina a propriedade
hostcomo a parte do nome do host do URL criado quando o ESP foi implantado, em que o ESP é o serviço usado para hospedar a API Endpoints. - Em Gateway de API, omita a
hostou defina-a como o nome DNS da API implantada. Os provedores de API geralmente a definem como o nome DNS ao compartilhar a especificação OpenAPI com os consumidores da API. No entanto, o gateway da API não impõe o valor da propriedadehost.
Por exemplo, veja abaixo uma parte de uma definição OpenAPI usada pelo Endpoints para definir uma API para acessar um serviço de back-end implantado em funções do Cloud Run:
OpenAPI 2.0
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: HOST schemes: - https ...
OpenAPI 3.x
openapi: 3.0.4 info: title: Cloud Endpoints + GCF description: Sample API on Cloud Endpoints with a Google Cloud Functions backend version: 1.0.0 servers: - url: https://HOST x-google-endpoint: {} ...
Ao usar o Endpoints para implantar APIs, você:
Implante a Vertex AI Search ou o ESPv2 Beta, que cria o URL usado para acessar as APIs implantadas. Exemplo:
https://gateway-12345-uc.a.run.app
Edite a especificação OpenAPI para definir a propriedade
host(no OpenAPI 2.0) ouservers.url(no OpenAPI 3.x) como o nome de domínio do URL da Pesquisa da Vertex AI ou do ESPv2 Beta. Por exemplo:host: gateway-12345-uc.a.run.app
Implante a definição da OpenAPI na Vertex AI para Pesquisa ou no ESPv2 Beta.
Acesse sua API usando o URL da Vertex AI para Pesquisa ou do ESPv2 Beta. Nas definições de OpenAPI acima, o elemento
pathsé definido como/hellopara que você possa acessar essa API usando o seguinte URL:https://gateway-12345-uc.a.run.app/hello
Se você quiser usar a mesma definição de API para criar uma configuração de API para o gateway de API, exclua a propriedade host ou servers.url completamente ou deixe-a no arquivo.
A API Gateway não impõe o valor da propriedade host.
O URL do gateway implantado e, portanto, o URL que os clientes usam para acessar a API, é definido quando você cria o gateway no formato:
https://GATEWAY_ID-HASH.REGION_CODE.gateway.dev
em que GATEWAY_ID é o nome do gateway, HASH é o código hash exclusivo gerado quando você implantou a API, e REGION_CODE é o código para a regiãoGoogle Cloud onde você implantou o gateway.
Depois de implantar uma API em uma instância de gateway, o URL usado para acessar /hello será:
https://my-gateway-a12bcd345e67f89g0h.uc.gateway.dev/hello
Para saber mais sobre a implantação de APIs, consulte Modelo de implantação do gateway de API.
Para saber mais sobre como criar a especificação OpenAPI para a definição da API, consulte a visão geral da OpenAPI.