Questa pagina descrive come eseguire il versionamento dell'API e come eseguire il deployment in più versioni.
Suggerimenti per la gestione delle versioni delle API
Per gestire le versioni dell'API, considera questi suggerimenti:
- Se vuoi introdurre una modifica incrementale ma senza interruzione, mantieni dell'API ed il deployment sull'API esistente.
- Quando introduci una modifica che provoca un errore nell'API, incrementa la versione dell'API.
- Per una maggiore protezione, incrementa anche la versione dell'applicazione App Engine, quindi esegui il deployment della nuova versione dell'API nella nuova versione dell'applicazione App Engine. Ciò ti consente di sfruttare la flessibilità integrata con App Engine per passare rapidamente da una versione all'altra e pubblicare dalla versione precedente in caso di problemi imprevisti.
La tabella seguente mostra le versioni dell'API di backend in cascata per diverse versioni dell'applicazione App Engine.
Versione dell'applicazione | Versione dell'API di backend |
---|---|
1 |
|
2 |
|
3 |
|
Come mostrato nella tabella, gli aggiornamenti incrementali e continui alla versione 1 dell'API vengono implementate, ognuna delle quali sovrascrive la versione precedente. Quando le modifiche che provocano un errore vengono la versione API viene incrementata alla v2 e viene eseguito il deployment in una nuova Versione dell'applicazione App Engine. Ciò ti consente di tornare dell'applicazione, se necessario.
Nella tabella, nota che la versione 2 dell'applicazione supporta sia l'ultima versione v1
e la nuova versione v2 dell'API. Se non elimini il codice v1 esistente
dal tuo progetto, quando esegui il deployment del progetto sia v2
sia vl
(n)
dell'API nella versione 2 dell'applicazione.
Deployment in più versioni dell'applicazione
Quando esegui il deployment dell'API backend, ne esegui il deployment nell'ID progetto del
il progetto Google Cloud che hai creato per l'API e devi inoltre
specifica la versione di App Engine in cui esegui il deployment.
La versione dell'app App Engine viene specificata nell'elemento <version>
del
file /WEB-INF/appengine-web.xml
. La versione dell'app App Engine non è la stessa del numero di versione dell'API di backend, che specifichi nell'attributo version
dell'annotazione @Api
.
Come mostrato nella figura precedente, puoi eseguire il deployment di più versioni dell'API nella stessa versione di App Engine. Inoltre, puoi avere molte App Engine tutte le versioni di un'applicazione.
Accesso alle versioni API di cui è stato eseguito il deployment in una versione disponibile per la pubblicazione
La prima
versione di App Engine
in cui esegui il deployment dell'API è la versione di pubblicazione. Questa versione viene eseguita all'URL
http://YOUR_PROJECT_ID.appspot.com
dove
YOUR_PROJECT_ID
rappresenta il tuo Google Cloud
dell'ID progetto. Puoi accedere a tutte le versioni dell'API di cui è stato eseguito il deployment nella versione dell'applicazione App Engine utilizzando questo URL.
La versione pubblicata rimane invariata finché non la modifichi esplicitamente nella console Google Cloud.
Accesso alle versioni API di cui è stato eseguito il deployment in una versione dell'applicazione non pubblicabile
Se hai bisogno di accedere a versioni dell'API di cui non è stato eseguito il deployment nell'istanza per la versione di App Engine, viene utilizzato un URL specifico della versione, simile le seguenti:
https://VERSION-dot-YOUR_PROJECT_ID.appspot.com
Sostituisci VERSION
con la versione di App Engine e YOUR_PROJECT_ID
con l'ID del progetto Google Cloud. Ad esempio, supponiamo che la tua versione di gestione di App Engine
è 1, ma vuoi accedere a una versione API di cui è stato eseguito il deployment alla versione 2. Devi usare questo URL: https://2-dot-YOUR_PROJECT_ID.appspot.com
.
Per ulteriori dettagli, consulta la documentazione di App Engine.
Accesso alle versioni dell'API di cui è stato eseguito il deployment in servizi non di pubblicazione (in precedenza moduli)
Se devi accedere a versioni dell'API non di cui è stato eseguito il deployment nel servizio App Engine predefinito, puoi utilizzare un URL specifico per il servizio utilizzando la sintassi con punti come segue:
https://SERVICE-NAME-dot-YOUR_PROJECT_ID.appspot.com/_ah/api/...
Per ulteriori dettagli, consulta documentazione di App Engine.