Eseguire il deployment delle API Cloud Endpoints su API Gateway
Cloud Endpoints è un sistema di gestione delle API che ti aiuta a proteggere, monitorare, analizzare e impostare le quote per le tue API. Endpoints utilizza Extensible Service Proxy (ESP) o Extensible Service Proxy V2 beta (ESPv2 Beta) per ospitare le tue API.
Quando utilizzi Endpoints, hai tre opzioni per definire l'API:
- Cloud Endpoints per OpenAPI
- Cloud Endpoints per gRPC
- Framework di Cloud Endpoints per l'ambiente standard di App Engine
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 le stesse opzioni e lo stesso formato di definizione della specifica OpenAPI supportati da Cloud Endpoints per OpenAPI. Ciò significa che puoi utilizzare le stesse definizioni di sicurezza, quota e altre delle specifiche OpenAPI di Endpoints per definire un'API in API Gateway.
L'unica differenza tra Endpoints e API Gateway è 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
oppure impostarlo sul nome DNS dell'API di cui è stato eseguito il deployment. che i provider di API spesso lo impostano sul nome DNS. quando condivide la specifica OpenAPI con i consumer API. Tuttavia, API Gateway non applica il valore dell'attributohost
proprietà.
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 nelle funzioni 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: ...
Per gli endpoint:
Esegui il deployment di ESP, che crea l'URL da utilizzare per accedere alle API di cui è stato eseguito il deployment in ESP. Ad esempio:
https://gateway-12345-uc.a.run.app
Modifica la specifica OpenAPI per impostare la proprietà
host
sul nome di dominio dell'URL dell'ESP. Ad esempio:host: gateway-12345-uc.a.run.app
Esegui il deployment della specifica OpenAPI in ESP.
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 gli endpoint devi prima eseguire il deployment dell'ESP per poter impostare il valore della proprietà host
.
Per utilizzare questa definizione di API per 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, di conseguenza, quello che i client utilizzano per accedere all'API viene definita quando crei il gateway, nella forma seguente:
https://GATEWAY_ID-HASH.REGION_CODE.gateway.dev
dove GATEWAY_ID è il nome del gateway, HASH è il codice hash univoco generato durante il deployment dell'API e REGION_CODE è il codice della regione Google Cloud in cui è stato eseguito il deployment del gateway.
Dopo aver eseguito il deployment di un'API in un'istanza di 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, consulta il modello di deployment di API Gateway.
Per saperne di più sulla creazione della specifica OpenAPI per la definizione dell'API, consulta la panoramica di OpenAPI.