Deployment delle API Cloud Endpoints su API Gateway

Cloud Endpoints è un sistema di gestione delle API che consente di proteggere, monitorare, analizzare e impostare le quote delle API. Endpoints utilizza Extensible Service Proxy (ESP) o Extensible Service Proxy V2 Beta (ESPv2 beta) per ospitare le API.

Quando utilizzi Endpoints, hai tre opzioni per definire l'API:

Sviluppo di API con API Gateway

API Gateway supporta le API descritte utilizzando la specifica OpenAPI, versione 2.0. Ciò significa che puoi eseguire il deployment delle specifiche OpenAPI da Endpoints su API Gateway.

Deployment delle specifiche OpenAPI di Endpoints su API Gateway

API Gateway supporta lo stesso formato di definizione della specifica OpenAPI e le stesse opzioni supportate da Cloud Endpoints per OpenAPI. Ciò significa che puoi utilizzare la stessa sicurezza, la stessa quota e altre definizioni delle specifiche Endpoints OpenAPI per definire un'API in API Gateway.

L'unica differenza tra Endpoints e Gateway API è il modo in cui elaborano la proprietà host nella definizione della specifica OpenAPI:

  • In Endpoints, imposta la proprietà host sulla parte del nome host dell'URL creato quando hai eseguito il deployment di ESP, dove ESP è il servizio utilizzato per ospitare l'API Endpoints.
  • In API Gateway, ometti host o impostalo sul nome DNS dell'API di cui è stato eseguito il deployment. I provider di API spesso lo impostano sul nome DNS quando condividono la specifica OpenAPI con i propri consumer delle API. Tuttavia, API Gateway non applica il valore della proprietà host.

Ad esempio, di seguito è riportata una parte di una specifica OpenAPI utilizzata da Endpoints per definire un'API per accedere a un servizio di backend di cui è stato eseguito il deployment in Cloud Functions:

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

Per Endpoints:

  1. Esegui il deployment di ESP, che crea l'URL da utilizzare per accedere alle API di cui è stato eseguito il deployment su ESP. Ad esempio:

    https://gateway-12345-uc.a.run.app
  2. Modifica la specifica OpenAPI per impostare la proprietà host sul nome di dominio dell'URL ESP. Ad esempio:

    host: gateway-12345-uc.a.run.app
  3. Esegui il deployment della specifica OpenAPI su ESP.

  4. Accedi all'API utilizzando l'URL ESP. Nella specifica OpenAPI riportata sopra, l'elemento paths è impostato su /hello, quindi puoi accedere a questa API utilizzando il seguente URL:

    https://gateway-12345-uc.a.run.app/hello

Come puoi vedere, per Endpoints devi prima eseguire il deployment di ESP per poter impostare il valore della proprietà host.

Per utilizzare questa definizione API al fine di creare una configurazione API per API Gateway, puoi eliminare completamente la proprietà host o lasciarla nel file. API Gateway non applica il valore della proprietà host.

L'URL del gateway di cui è stato eseguito il deployment, e quindi l'URL utilizzato dai client per accedere all'API, viene definito quando crei il gateway nel formato:

https://GATEWAY_ID-HASH.REGION_CODE.gateway.dev

dove GATEWAY_ID è il nome del gateway, HASH è il codice hash univoco generato al momento del deployment dell'API e REGION_CODE è il codice per la regione Google Cloud in cui hai eseguito il deployment del gateway.

Dopo aver eseguito il deployment di un'API in un'istanza gateway, l'URL che utilizzi per accedere a /hello è:

https://my-gateway-a12bcd345e67f89g0h.uc.gateway.dev/hello

Per saperne di più sul deployment delle API, vedi Modello di deployment del gateway API.

Per ulteriori informazioni sulla creazione della specifica OpenAPI per la definizione dell'API, consulta la panoramica di OpenAPI.

Passaggi successivi