Dopo aver configurato il file .proto
e il file di configurazione dell'API gRPC, ne esegui il deployment in modo che Cloud Endpoints disponga delle informazioni necessarie per gestire l'API. Per
eseguire il deployment della configurazione degli endpoint, utilizza il comando
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 dei file di configurazione in Endpoints.
Prerequisiti
Come punto di partenza, questa pagina presuppone che tu disponga di:
Creato progetto Google Cloud per il quale disponi del ruolo Editor o Proprietario. Dopo il deployment iniziale, puoi concedere il ruolo più restrittivo Service Config Editor. Per ulteriori informazioni, consulta Concedere e revocare l'accesso all'API.
Gli endpoint configurati, che includono:
Se utilizzi un nome di dominio personalizzato (ad esempio,
example.com
), devi verificare il nome di dominio prima di poter eseguire il deployment dei file di configurazione gRPC.
Preparazione dell'interfaccia a riga di comando di Google Cloud per il deployment in corso...
Per eseguire il deployment della configurazione,
utilizza lo strumento a riga di comando gcloud
. Consulta la
guida di riferimento di gcloud per ulteriori informazioni sui comandi.
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 l'interfaccia a riga di comando gcloud sia autorizzata ad accedere ai tuoi dati e
servizi:
gcloud auth login
Viene visualizzata una nuova scheda del browser in cui ti viene chiesto di scegliere un account.
- Imposta il progetto predefinito. Sostituisci
[YOUR-PROJECT-ID]
con l'ID progetto GCPgcloud config set project [YOUR-PROJECT-ID]
- Se eseguirai il deployment del backend dell'API in Kubernetes o Kubernetes Engine, esegui questo comando per acquisire le nuove credenziali utente da utilizzare per le credenziali predefinite dell'applicazione. Per autorizzare
kubectl
sono necessarie le credenziali dell'utente.gcloud auth application-default login
Viene visualizzata una nuova scheda del browser in cui ti viene chiesto di scegliere un account.
Deployment dei file di configurazione
- Assicurati di essere nella directory in cui si trovano i file
api_descriptor.pb
eapi_config.yaml
. - Verifica che il progetto predefinito attualmente utilizzato dallo strumento a riga di comando
gcloud
sia il progetto Google Cloud in cui vuoi eseguire il deployment della configurazione degli endpoint. 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 il comando seguente:
gcloud config set project YOUR_PROJECT_ID
- Esegui il deployment del file
proto descriptor
e del file di configurazione utilizzando l'interfaccia a riga di comando di Google Cloud:gcloud endpoints services deploy api_descriptor.pb api_config.yaml
Durante la creazione e la configurazione del servizio, Service Management trasmette informazioni al terminale. Al termine del deployment, viene visualizzato un messaggio simile al seguente:
Service Configuration [CONFIG_ID] uploaded for service [bookstore.endpoints.example-project.cloud.goog]
CONFIG_ID è l'ID univoco della configurazione del servizio Endpoints creato dal deployment. Ad esempio:
Service Configuration [2017-02-13r0] uploaded for service [bookstore.endpoints.example-project.cloud.goog]
Nell'esempio precedente,
2017-02-13r0
è l'ID configurazione del servizio ebookstore.endpoints.example-project.cloud.goog
è il nome del servizio. L'ID configurazione servizio è costituito da un timestamp, seguito da un numero di revisione. Se esegui nuovamente il deployment della configurazione endpoint lo stesso giorno, il numero di revisione viene incrementato nell'ID configurazione del servizio.
Se la configurazione del tuo servizio si trova in più file YAML, puoi trasmetterli tutti al comando deploy
. Ad esempio, la Libreria ha la configurazione di base in api_config.yaml
, ma puoi attivare la transcodifica HTTP per il servizio eseguendo anche il deployment di api_config_http.yaml
, che offre una configurazione aggiuntiva per questa funzionalità:
gcloud endpoints services deploy api_descriptor.pb api_config.yaml api_config_http.yaml
Tieni presente che se i tuoi file YAML presentano valori in conflitto, i valori dell'ultimo file specificato hanno precedenza sugli altri. Per saperne di più sul modo in cui gli endpoint gestiscono l'unione di più file YAML, vedi Configurare un servizio gRPC.
Se ricevi un messaggio di errore, consulta la sezione relativa alla risoluzione dei problemi di deployment degli endpoint per informazioni sulla risoluzione dell'errore.
Deployment nuovamente
Ogni volta che modifichi qualcosa nel tuo file .proto
o YAML
della configurazione del servizio, esegui nuovamente il deployment dei file in modo che Extensible Service Proxy (ESP) abbia
la versione più recente della configurazione del servizio dell'API. Se in precedenza hai eseguito il deployment di ESP con l'opzione rollout
impostata su managed
, non devi riavviare o ripetere il deployment di ESP. L'opzione rollout=managed
configura ESP per utilizzare l'ultima configurazione dei servizi di cui è stato eseguito il deployment. Quando specifichi questa opzione, fino a cinque minuti dopo aver eseguito il deployment di una nuova configurazione di servizio, ESP rileva la modifica e inizia automaticamente a utilizzarla. Ti consigliamo di specificare questa opzione
invece di un ID di configurazione specifico.
Dopo il deployment iniziale della configurazione degli endpoint, puoi concedere a un utente, un account di servizio o un gruppo un ruolo che consenta di eseguire nuovamente il deployment della configurazione degli endpoint. Per ulteriori informazioni, consulta Concedere e revocare l'accesso all'API.
Passaggi successivi
- Guida introduttiva al portale Cloud Endpoints
- Deployment del backend dell'API
- Eseguire ESP localmente o su un'altra piattaforma
- Ottenere il nome e l'ID configurazione del servizio