esegui il deployment della configurazione di Endpoints

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:

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:

  1. Installa e inizializza gcloud CLI.
  2. Aggiorna gcloud CLI:
    gcloud components update
  3. 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.

  4. Imposta il progetto predefinito. Sostituisci [YOUR-PROJECT-ID] con l'ID del tuo progetto GCP.
    gcloud config set project [YOUR-PROJECT-ID]
  5. 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.
    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

  1. Make sure you are in the directory where the api_descriptor.pb and api_config.yaml files are located.
  2. Confirm that the default project that the gcloud command-line tool is currently using is the Google Cloud project that you want to deploy the Endpoints configuration to. Validate the project ID returned from the following command to make sure that the service doesn't get created in the wrong project.
    gcloud config list project
    

    If you need to change the default project, run the following command:

    gcloud config set project YOUR_PROJECT_ID
    
  3. Deploy the proto descriptor file and the configuration file by using the Google Cloud CLI:
    gcloud endpoints services deploy api_descriptor.pb api_config.yaml
    

    As it is creating and configuring the service, Service Management outputs information to the terminal. When the deployment completes, a message similar to the following is displayed:

    Service Configuration [CONFIG_ID] uploaded for service [bookstore.endpoints.example-project.cloud.goog]

    CONFIG_ID is the unique Endpoints service configuration ID created by the deployment. For example:

    Service Configuration [2017-02-13r0] uploaded for service [bookstore.endpoints.example-project.cloud.goog]
    

    In the previous example, 2017-02-13r0 is the service configuration ID and bookstore.endpoints.example-project.cloud.goog is the service name. The service configuration ID consists of a date stamp followed by a revision number. If you deploy the Endpoints configuration again on the same day, the revision number is incremented in the service configuration ID.

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