Dopo aver configurato Cloud Endpoints in un documento OpenAPI, esegui il deployment in modo che Endpoints disponga delle informazioni necessarie per gestire l'API.
Per eseguire il deployment della configurazione di Endpoints, utilizza il comando gcloud
endpoints services deploy. Questo comando utilizza
Service Infrastructure, la piattaforma di servizi
di base di Google, utilizzata da Endpoints e da altri
servizi per creare e gestire API e servizi. Questa pagina descrive come
eseguire il deployment di un documento OpenAPI in Endpoints.
Prerequisiti
Per iniziare, questa pagina presuppone che tu abbia:
Hai creato un Google Cloud progetto in cui disponi del ruolo Editor o Proprietario. Dopo il deployment iniziale, puoi concedere il ruolo più restrittivo Editor configurazione servizio a un utente, un gruppo o uaccount di serviziont. Per saperne di più, consulta Concessione e revoca dell'accesso all'API.
Se utilizzi un nome di dominio personalizzato (ad esempio
my-api.example.com), devi verificare il nome di dominio prima di poter eseguire il deployment del documento OpenAPI.
Preparazione di Google Cloud CLI per il deployment
Utilizzi lo strumento a riga di comando gcloud per
implementare la configurazione. Per ulteriori informazioni sui comandi, consulta il
riferimento gcloud.
Per prepararti al deployment:
- Installa e inizializza gcloud CLI.
- Aggiorna gcloud CLI:
gcloud components update
- Assicurati che gcloud CLI sia autorizzata ad accedere ai tuoi dati e servizi:
gcloud auth login
Si apre una nuova scheda del browser e ti viene chiesto di scegliere un account.
- Imposta il progetto predefinito. Sostituisci
[YOUR-PROJECT-ID]con l'ID del tuo progetto GCP.gcloud config set project [YOUR-PROJECT-ID]
- Se prevedi di eseguire il deployment del backend API su Kubernetes o Kubernetes
Engine, esegui il comando seguente per acquisire nuove credenziali utente da utilizzare perCredenziali predefinite dell'applicazionene. Le credenziali utente sono necessarie per autorizzare
kubectl. Si apre una nuova scheda del browser e ti viene chiesto di scegliere un account.gcloud auth application-default login
Convalida della sintassi di openapi.json
Il file del documento OpenAPI può essere in formato YAML o JSON. Se è in formato JSON, ti consigliamo di verificare la sintassi prima di eseguire il deployment del file. Per
verificare che il tuo openapi.json sia un file JSON ben formattato, puoi aprirlo in
un editor di testo di convalida JSON come vim, utilizzare un servizio di controllo JSON online
o utilizzare Python, ad esempio:
python -m json.tool openapi.json
Per migliorare la leggibilità, puoi formattare il file JSON:
python -m json.tool input.json > output.json
Sostituisci input.json con il percorso del file openapi.json. output.json è
il file JSON stampato in modo leggibile.
Convalida del documento OpenAPI
Non tutti i costrutti OpenAPI sono attualmente supportati da Cloud Endpoints. Prima del deployment, puoi convalidare il documento OpenAPI.
Per convalidare il documento OpenAPI:
Passa alla directory contenente il documento OpenAPI.
Conferma il progetto in cui vuoi creare il servizio. Google Cloud Se utilizzi un nome di dominio personalizzato (ad esempio
myapi.example.com), assicurati di convalidare l'ID progetto restituito dal seguente comando in modo che il servizio non venga creato nel progetto sbagliato.gcloud config list projectSe devi modificare il progetto predefinito, esegui il comando seguente e sostituisci
[YOUR_PROJECT_ID]con l'ID progetto Google Cloud in cui vuoi creare il servizio:gcloud config set project [YOUR_PROJECT_ID]Esegui il seguente comando e sostituisci
[YOUR_OPENAPI_DOCUMENT]con il nome del documento OpenAPI che descrive la tua API:gcloud endpoints services deploy [YOUR_OPENAPI_DOCUMENT] --validate-only
Il comando gcloud chiama quindi l'API Service Management per creare un servizio gestito con il nome specificato nel campo host nel documento OpenAPI. Quando specifichi il flag --validate-only, viene comunque creato un servizio, ma la configurazione non viene implementata. Non è possibile
convalidare il documento OpenAPI senza creare un servizio. Anche se puoi
eliminare il servizio,
Service Management ti impedisce di creare un servizio con lo stesso
nome per un periodo di circa 30 giorni.
Deployment del documento OpenAPI
Quando è tutto pronto per il deployment dell'API, esegui Google Cloud CLI, che utilizza Service Management per caricare la configurazione dell'API e per creare (o aggiornare) un servizio gestito.
Per eseguire il deployment del documento OpenAPI:
Passa alla directory contenente il documento OpenAPI.
Convalida l'ID progetto restituito dal seguente comando per assicurarti che il servizio non venga creato nel progetto sbagliato.
gcloud config list projectSe devi modificare il progetto predefinito, esegui il comando seguente e sostituisci
[YOUR_PROJECT_ID]con l'ID progetto Google Cloud in cui vuoi creare il servizio:gcloud config set project [YOUR_PROJECT_ID]Esegui il seguente comando e sostituisci
[YOUR_OPENAPI_DOCUMENT]con il nome del documento OpenAPI che descrive la tua API:gcloud endpoints services deploy [YOUR_OPENAPI_DOCUMENT]
La prima volta che esegui il comando precedente, Service Management
crea un nuovo servizio Endpoints nel progetto predefinito con un
nome corrispondente al testo specificato nel campo host del
documento OpenAPI e carica la configurazione del servizio.
Durante la creazione e la configurazione del servizio, Service Management visualizza informazioni nel terminale. Al termine, viene visualizzata una riga simile alla seguente, in cui sono visualizzati l'ID configurazione del servizio e il nome del servizio:
Service Configuration [2017-02-13r0] uploaded for service [echo-api.endpoints.example-project-12345.cloud.goog]
Nell'esempio precedente, 2017-02-13r0 è l'ID di configurazione del servizio e echo-api.endpoints.example-project-12345.cloud.goog è il nome del servizio.
Dopo un deployment riuscito, puoi visualizzare l'API nella pagina Endpoint > Servizi nella console Google Cloud .
Se ricevi un messaggio di errore, consulta Risoluzione dei problemi di deployment della configurazione di Endpoints.
Ripetizione del deployment in corso
Ogni volta che modifichi qualcosa nel documento OpenAPI, assicurati di eseguirne nuovamente il deployment
in modo che Endpoints disponga della versione più recente della
configurazione del servizio della tua API. Non è necessario eseguire nuovamente il deployment
o riavviare ESP se in precedenza hai eseguito il deployment di ESP con
l'opzione
rollout impostata su managed.
Questa opzione
configura ESP per utilizzare la configurazione del servizio di cui è stato eseguito il deployment più recente. Quando
specifichi questa opzione, fino a 5 minuti dopo il deployment di una nuova configurazione
del servizio, ESP rileva la modifica e inizia a utilizzarla automaticamente. Ti
consigliamo di specificare questa opzione anziché un ID configurazione specifico
da utilizzare per ESP.
Dopo il deployment della configurazione iniziale di Endpoints, puoi concedere a un utente,account di serviziot o a un gruppo un ruolo che consenta di eseguire nuovamente il deployment della configurazione di Endpoints. Per saperne di più, consulta Concessione e revoca dell'accesso all'API.
Passaggi successivi
- Esegui il deployment del backend dell'API
- Deployment su Kubernetes
- Esecuzione di ESP in locale o su un'altra piattaforma
- Recupero del nome del servizio e dell'ID configurazione