Dopo aver configurato il file .proto
e il file di configurazione dell'API gRPC, devi eseguirne il deployment in modo che Cloud Endpoints abbia le 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 altri servizi per creare e gestire API e servizi. In questa pagina viene descritto come eseguire il deployment dei file di configurazione in Endpoints.
Prerequisiti
Per iniziare, questa pagina presuppone che tu abbia:
Hai creato un progetto Google Cloud in cui disponi del ruolo Editor o Proprietario. Dopo il deployment iniziale, puoi concedere il ruolo Editor configurazione servizio più restrittivo. Per saperne di più, consulta Concessione e revoca dell'accesso all'API.
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 di Google Cloud CLI per il deployment
Per eseguire il deployment della configurazione, puoi utilizzare lo strumento a riga di comando gcloud
. Consulta la pagina di
riferimento gcloud per ulteriori informazioni sui comandi.
Per prepararti al deployment:
- Installa e inizializza gcloud CLI.
- Aggiorna gcloud CLI:
gcloud components update
- Assicurati che gcloud CLI sia autorizzato 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 progetto Google Cloudgcloud config set project [YOUR-PROJECT-ID]
- Se esegui il deployment del backend dell'API su Kubernetes o Kubernetes Engine, esegui questo comando per acquisire nuove credenziali utente da utilizzare per le Credenziali predefinite dell'applicazione. Le credenziali utente sono necessarie per autorizzare
kubectl
.gcloud auth application-default login
Si apre una nuova scheda del browser e 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 utilizzato attualmente 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 comando seguente 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 Google Cloud CLI:gcloud endpoints services deploy api_descriptor.pb api_config.yaml
Durante la creazione e la configurazione del servizio, Service Management genera 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 di configurazione del servizio è costituito da un timestamp con un numero di revisione. Se esegui nuovamente il deployment della configurazione Endpoint, lo stesso giorno, il numero di revisione viene aumentato nell'ID configurazione del servizio.
Se la configurazione del servizio è in più file YAML, puoi passarli tutti al comando deploy
. Ad esempio, Bookstore ha la sua configurazione di base in api_config.yaml
, ma puoi attivare la transcodifica HTTP per il servizio implementando anche 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, in caso di valori in conflitto nei file YAML, i valori nell'ultimo file specificato hanno la precedenza sugli altri. Puoi trovare ulteriori informazioni su come Endpoints gestisce l'unione di più file YAML in Configurazione di un servizio gRPC.
Se viene visualizzato un messaggio di errore, consulta Risoluzione dei problemi di deployment della configurazione degli endpoint per informazioni sulla risoluzione dell'errore.
Nuova distribuzione in corso...
Ogni volta che modifichi qualcosa nel file YAML di configurazione del servizio .proto
o del servizio, esegui di nuovo il deployment dei file in modo che Extensible Service Proxy (ESP) disponga della 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 l'ESP in modo che utilizzi l'ultima configurazione del servizio di cui è stato eseguito il deployment. Quando specifichi questa opzione, fino a 5 minuti dopo il deployment di una nuova configurazione del servizio, ESP rileva la modifica e inizia automaticamente a utilizzarla. Ti consigliamo di specificare questa opzione anziché un ID di configurazione specifico da utilizzare per ESP.
Dopo il deployment iniziale della configurazione di Endpoints, puoi concedere a un utente, a un account di servizio o a un gruppo un ruolo che consenta di eseguire nuovamente il deployment della configurazione degli endpoint. Per ulteriori informazioni, consulta Concessione e revoca dell'accesso all'API.
Passaggi successivi
- Guida introduttiva all'utilizzo del portale Cloud Endpoints
- Deployment del backend dell'API
- Esecuzione di ESP localmente o su un'altra piattaforma
- Recupero del nome del servizio e dell'ID di configurazione