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 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 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, 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ê:

  1. 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
  2. Edite a especificação OpenAPI para definir a propriedade host (no OpenAPI 2.0) ou servers.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
  3. Implante a definição da OpenAPI na Vertex AI para Pesquisa ou no ESPv2 Beta.

  4. 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 /hello para 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.

A seguir