Dopo aver configurato il file .proto e il file di configurazione dell'API gRPC, esegui il deployment in modo che Cloud 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
deploy i file di configurazione in Endpoints.
Prerequisiti
Per iniziare, questa pagina presuppone che tu abbia:
Hai creato un Google Cloud progetto in cui hai il ruolo di Editor o Proprietario. Dopo il deployment iniziale, puoi concedere il ruolo Editor configurazione servizio più restrittivo. Per ulteriori informazioni, consulta la sezione Concessione e revoca dell'accesso all'API.
Endpoint configurati, che include:
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 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
Deployment dei file di configurazione
- Assicurati di trovarti nella directory in cui si trovano i file
api_descriptor.pbeapi_config.yaml. - Verifica che il progetto predefinito attualmente utilizzato dallo strumento a riga di comando
gcloudsia il progetto Google Cloud in cui vuoi eseguire il deployment della configurazione di Endpoints. 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:
gcloud config set project YOUR_PROJECT_ID
- Esegui il deployment del file
proto descriptore del file di configurazione utilizzando Google Cloud CLI:gcloud endpoints services deploy api_descriptor.pb api_config.yaml
Durante la creazione e la configurazione del servizio, Service Management visualizza le informazioni nel 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 di configurazione del servizio ebookstore.endpoints.example-project.cloud.googè il nome del servizio. L'ID configurazione del servizio è composto da un timestamp seguito da un numero di revisione. Se esegui di nuovo il deployment della configurazione di Endpoints lo stesso giorno, il numero di revisione viene incrementato nell'ID configurazione del servizio.
Se la configurazione del servizio si trova in più file YAML, puoi passarli tutti
al comando deploy. Ad esempio, la libreria ha la sua configurazione di base
in api_config.yaml, ma puoi attivare la transcodifica HTTP per il servizio anche
deployando api_config_http.yaml, che ha una configurazione aggiuntiva per
questa funzionalità:
gcloud endpoints services deploy api_descriptor.pb api_config.yaml api_config_http.yaml
Tieni presente che se nei file YAML sono presenti valori in conflitto, i valori dell'ultimo file specificato hanno la precedenza sugli altri. Puoi scoprire di più su come Endpoints gestisce l'unione di più file YAML in Configurazione di un servizio gRPC.
Se ricevi un messaggio di errore, consulta Risoluzione dei problemi di deployment della configurazione di Endpoints per informazioni sulla risoluzione del problema.
Ripetizione del deployment in corso
Ogni volta che modifichi un elemento nel file YAML di configurazione del servizio o di .proto, esegui nuovamente il deployment dei file in modo che Extensible Service Proxy (ESP) disponga della versione più recente della configurazione del servizio API. Se in precedenza
hai eseguito il deployment di ESP con l'opzione rollout impostata su
managed,
non è necessario riavviare o eseguire nuovamente il deployment di ESP. L'opzione rollout=managed
configura ESP in modo che utilizzi 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
- Esecuzione di ESP in locale o su un'altra piattaforma
- Recupero del nome del servizio e dell'ID configurazione