esegui il deployment della configurazione di Endpoints

Dopo aver configurato Cloud Endpoints in un documento OpenAPI, esegui il deployment in modo che 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 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:

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:

  1. Installa e inizializza la gcloud CLI.
  2. Aggiorna la gcloud CLI:
    gcloud components update
  3. Assicurati che gcloud CLI sia autorizzata ad accedere ai tuoi dati e ai tuoi 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 Google Cloud
    gcloud config set project [YOUR-PROJECT-ID]
  5. Se esegui il deployment del backend dell'API in 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 autorizzarekubectl.
    gcloud auth application-default login
    Si apre una nuova scheda del browser e ti viene chiesto di scegliere un account.

Convalida della sintassi di openapi.json

Il file del 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. Per verificare che openapi.json sia un file JSON ben formattato, puoi aprirlo in un editor di testo che convalida il JSON, come vim, utilizzare un servizio di linting JSON online o utilizzare Python, ad esempio:

python -m json.tool openapi.json

Per migliorare la leggibilità, puoi stampare in modo leggibile il file JSON:

python -m json.tool input.json > output.json

Sostituisci input.json con il percorso del file openapi.json. output.json è il file JSON con stampata bella.

Convalida del documento OpenAPI

Al momento, non tutti i costrutti OpenAPI sono supportati da Cloud Endpoints. Prima di eseguire il deployment, puoi convalidare il documento OpenAPI.

Per convalidare il documento OpenAPI:

  1. Cambia la directory impostandola sulla posizione contenente il documento OpenAPI.

  2. 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 seguente comando in modo che il servizio non venga creato nel progetto sbagliato.

    gcloud config list project
    

    Se devi modificare il progetto predefinito, esegui il seguente 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]
    
  3. 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] --validate-only
    

Il comando gcloud chiama quindi l'API Service Management per creare un servizio gestito con il nome specificato nel campo host del documento OpenAPI. Quando specifichi il flag --validate-only, viene comunque creato un servizio, ma la configurazione non viene implementata. Non esiste un modo per verificare il documento OpenAPI senza creare un servizio. Sebbene tu possa eliminare il servizio, la 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 dell'API e creare (o aggiornare) un servizio gestito.

Per eseguire il deployment del documento OpenAPI:

  1. Cambia la directory impostandola sulla posizione contenente il documento OpenAPI.

  2. 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 seguente 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]
    
  3. 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 è l'ID configurazione del servizio e echo-api.endpoints.example-project-12345.cloud.goog è il nome del servizio.

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

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 riavviare l'ESP se in precedenza lo hai eseguito con l'opzione rollout impostata su managed. Questa opzione 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 aver eseguito 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 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