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 gateway de API é compatível com as APIs descritas com a especificação OpenAPI, versão 2.0. Isso significa que é possível implantar as especificações de OpenAPI no Endpoints no gateway da 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
host
como 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
host
ou 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, confira abaixo uma parte de uma especificação OpenAPI usada pelo Endpoints para definir uma API para acessar um serviço de back-end implantado nas funções do 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: ...
Nos endpoints:
Implantar o ESP, que cria o URL que você usa para acessar as APIs implantadas no ESP. Exemplo:
https://gateway-12345-uc.a.run.app
Edite a especificação OpenAPI para definir a propriedade
host
como o nome de domínio do URL do ESP. Por exemplo:host: gateway-12345-uc.a.run.app
Implante a especificação OpenAPI no ESP.
Acesse sua API usando o URL do ESP. Na especificação OpenAPI acima, o elemento
paths
é definido como/hello
para que você possa acessar essa API usando o seguinte URL:https://gateway-12345-uc.a.run.app/hello
Como você pode ver, primeiro é necessário implantar o ESP para definir o valor da propriedade host
no Endpoints.
Se você quiser usar essa definição de API para criar uma configuração de API para o gateway de API, exclua a propriedade host
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ão do GCP. 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.