Dopo aver configurato Cloud Endpoints in un account OpenAPI
document, esegui il deployment in modo
Endpoints contiene le informazioni necessarie per gestire l'API.
Per eseguire il deployment della configurazione di Endpoints, utilizza la gcloud
endpoints services deploy
. Questo comando utilizza Service Infrastructure, la piattaforma di servizi di base di Google, utilizzata da Endpoints e 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 account Google Cloud progetto in cui sono presenti il ruolo Editor o Proprietario. Dopo il deployment iniziale, puoi concedere il ruolo Editor di configurazione di servizio più restrittivo a un utente, a un gruppo o a un account di servizio. Consulta l'articolo Concedere e revocare l'accesso ai API per saperne di più.
Se utilizzi un nome di dominio personalizzato (ad esempio
my-api.example.com
), devi verificare il nome di dominio prima puoi eseguire il deployment del documento OpenAPI.
Preparazione di Google Cloud CLI per il deployment
Utilizza lo strumento a riga di comando gcloud
per eseguire il deployment della configurazione. Per ulteriori informazioni sui comandi, consulta la
documentazione di riferimento di gcloud.
Per prepararti al deployment:
- Installa e inizializza l'interfaccia a riga di comando gcloud.
- Aggiorna l'interfaccia a riga di comando gcloud:
gcloud components update
- Assicurati che gcloud CLI sia autorizzato ad accedere ai tuoi dati
Google Cloud:
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 Google Cloudgcloud config set project [YOUR-PROJECT-ID]
- Se esegui il deployment del backend dell'API su Kubernetes o Kubernetes Engine, esegui il seguente comando per acquisire nuove credenziali utente da utilizzare per le credenziali predefinite dell'applicazione. 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 openapi.json
in corso...
Il file di 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. A
verifica che openapi.json
sia un file JSON formattato correttamente, puoi aprirlo
un editor di testo con convalida JSON come vim
, utilizza un linter JSON online
o usa Python, ad esempio:
python -m json.tool openapi.json
Per migliorare la leggibilità, puoi formattare il file JSON in modo ottimale:
python -m json.tool input.json > output.json
Sostituisci input.json
con il percorso del file openapi.json
. output.json
è
il file JSON stampato.
Convalida del documento OpenAPI
Non tutti i costrutti OpenAPI sono attualmente supportati Cloud Endpoints. Prima di eseguire il deployment, puoi convalidare il documento OpenAPI.
Per convalidare il documento OpenAPI:
Cambia la directory con la posizione in cui si trova il documento OpenAPI.
Conferma il progetto Google Cloud in cui vuoi creare il servizio. Se utilizzi un nome di dominio personalizzato (ad esempio
myapi.example.com
), assicurati di convalidare l'ID progetto restituito dal comando seguente in modo che il servizio non venga creato nel progetto sbagliato.gcloud config list project
Se devi modificare il progetto predefinito, esegui questo comando 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 questo 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
dall'API Service Management a
crea un servizio gestito con il nome specificato nel campo host
nel documento OpenAPI. Se specifichi il flag --validate-only
, un servizio
è ancora stato creato, ma non è stato eseguito il deployment della configurazione. Non esiste un modo per verificare il documento OpenAPI senza creare un servizio. Sebbene tu possa
eliminare il servizio,
Gestione dei servizi ti impedisce di creare un servizio con lo stesso
nome per un periodo di circa 30 giorni.
Eseguire il deployment del documento OpenAPI
Quando è tutto pronto per il deployment dell'API, esegui Google Cloud CLI, che utilizza Service Management per caricare la configurazione API e per creare (o aggiornare) un servizio gestito.
Per eseguire il deployment del tuo documento OpenAPI:
Cambia la directory con la posizione in cui si trova 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 project
Se devi modificare il progetto predefinito, esegui questo comando 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 comando seguente e sostituisci
[YOUR_OPENAPI_DOCUMENT]
con il nome del documento OpenAPI che descrive l'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 sul 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
è la configurazione del servizio
e echo-api.endpoints.example-project-12345.cloud.goog
è il servizio
nome.
Dopo un deployment riuscito, puoi visualizzare l'API nella pagina Endpoints > Servizi nella console Google Cloud.
Se viene visualizzato un messaggio di errore, consulta la sezione Risoluzione dei problemi di deployment della configurazione degli endpoint.
Nuovo 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 dell'API. Non è necessario eseguire nuovamente il deployment
o riavvia ESP se in precedenza hai eseguito il deployment di ESP con
il
Opzione rollout
impostata su managed
.
Questa opzione
configura ESP in modo che utilizzi l'ultima configurazione del servizio di cui è stato eseguito il deployment. Quando
specificare questa opzione, fino a 5 minuti dopo il deployment di un nuovo servizio
configurazione, ESP rileva la modifica e inizia automaticamente a utilizzarla. Me
consigliamo di specificare questa opzione anziché un ID configurazione specifico
per ESP.
Dopo il primo dispiegamento della configurazione di Endpoints, puoi assegnare a un utente, a un account di servizio o a un gruppo un ruolo che consenta di eseguire nuovamente il dispiegamento della configurazione di Endpoints. Per ulteriori informazioni, consulta la sezione Concedere e revocare l'accesso all'API.
Passaggi successivi
- Introduzione all'utilizzo del portale Cloud Endpoints
- Deployment del backend dell'API
- Deployment su Kubernetes
- Esecuzione di ESP in locale o su un'altra piattaforma
- Recuperare il nome del servizio e l'ID configurazione