Gestione del controllo delle versioni delle API

Questa pagina descrive come eseguire il controllo delle versioni per l'API e come eseguire il deployment in più versioni.

Suggerimenti per la gestione delle versioni API

Per gestire le versioni dell'API, prendi in considerazione questi suggerimenti:

  • Se vuoi introdurre una modifica incrementale, ma non irreversibile, mantieni costante la versione dell'API ed esegui il deployment sull'API esistente.
  • Quando introduci una modifica che provoca un errore all'API, incrementa la versione dell'API.
  • Per ulteriore protezione, incrementa anche la versione dell'applicazione App Engine, quindi esegui il deployment della nuova versione dell'API su quella nuova versione dell'applicazione App Engine. In questo modo puoi sfruttare la flessibilità incorporata di App Engine per passare rapidamente da una versione di App Engine all'altra ed eseguire la gestione dalle versioni precedenti in caso di problemi imprevisti.

La tabella seguente è un'illustrazione della cascata delle versioni dell'API di backend a diverse versioni dell'applicazione App Engine.

Versione applicazione Versione API di backend
1
  • v1 --> v1 (2) --> v1 (n)
2
  • v1 (n)
  • v2 --> v2 (2) --> v2 (n)
3
  • v1 (n)
  • v2 (n)
  • v3 --> v3 (2) --> v3 (n)

Come mostrato nella tabella, vengono implementati aggiornamenti incrementali e innovativi alla v1 dell'API, ogni volta che sovrascrive la versione precedente. Quando vengono introdotte modifiche che provocano errori, la versione dell'API viene incrementata a v2 e ne viene eseguito il deployment in una nuova versione dell'applicazione App Engine. In questo modo è possibile tornare alla versione precedente dell'applicazione, se necessario.

Nella tabella, puoi notare che l'applicazione versione 2 supporta sia la versione v1 più recente sia la nuova versione v2 dell'API. Se non elimini il codice v1 esistente dal progetto, nella versione 2 dell'applicazione viene eseguito il deployment del progetto sia v2 sia vl (n) della tua API.

Deployment su più versioni dell'applicazione

Quando esegui il deployment dell'API di backend, ne esegui il deployment nell'ID progetto del progetto Google Cloud che hai creato per l'API e devi anche specificare la versione di App Engine in cui esegui il deployment. Puoi specificare la versione dell'app App Engine nella riga di comando quando esegui il deployment dell'app. La versione dell'app App Engine non corrisponde al numero di versione dell'API di backend, che specifichi nell'argomento version per il decorator @endpoints.api.

apiversions-python

Come mostrato nella figura precedente, puoi eseguire il deployment di più versioni dell'API nella stessa versione di App Engine. Inoltre, puoi avere molte versioni di App Engine per un'applicazione.

Accesso alle versioni API di cui è stato eseguito il deployment a una versione di gestione

La prima versione di App Engine in cui esegui il deployment dell'API è quella di gestione. Questa versione viene eseguita all'URL http://YOUR_PROJECT_ID.appspot.com, dove YOUR_PROJECT_ID rappresenta l'ID progetto Google Cloud. Puoi accedere a tutte le versioni API di cui è stato eseguito il deployment in quella versione dell'applicazione App Engine utilizzando quell'URL.

La versione di pubblicazione rimane la stessa finché non la modifichi esplicitamente nella console Google Cloud.

Accesso alle versioni API di cui è stato eseguito il deployment a una versione dell'applicazione non pubblicabile

Se devi accedere alle versioni dell'API di cui non è stato eseguito il deployment nella versione di App Engine attualmente pubblicata, utilizza un URL specifico per la versione, simile al seguente:

https://VERSION-dot-YOUR_PROJECT_ID.appspot.com

Sostituisci VERSION con la tua versione di App Engine e YOUR_PROJECT_ID con l'ID progetto Google Cloud. Ad esempio, supponiamo che la versione di gestione di App Engine sia 1, ma che tu voglia accedere a una versione dell'API di cui è stato eseguito il deployment alla versione 2. Dovresti usare questo URL: https://2-dot-YOUR_PROJECT_ID.appspot.com.

Per ulteriori dettagli, consulta la documentazione di App Engine.

Accesso alle versioni API di cui è stato eseguito il deployment in servizi non di gestione (in precedenza moduli)

Se hai bisogno di accedere a versioni API di cui non è stato eseguito il deployment nel servizio App Engine predefinito, puoi utilizzare un URL specifico per il servizio utilizzando la sintassi dei punti, come indicato di seguito:

https://SERVICE-NAME-dot-YOUR_PROJECT_ID.appspot.com/_ah/api/...

Per ulteriori dettagli, consulta la documentazione di App Engine.