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:

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 propriedade host.

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:

  1. 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
  2. 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
  3. Implante a especificação OpenAPI no ESP.

  4. 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.

A seguir