Questa pagina descrive come installare e utilizzare i servizi in bundle con il runtime Go 1.12+ per l'ambiente standard di App Engine. La tua app può accedere ai servizi in bundle tramite l'SDK dei servizi App Engine per Go 1.12 e versioni successive.
Prima di iniziare
- Consulta l'elenco delle API dei servizi in bundle legacy che puoi chiamare nel runtime Go 1.12 e versioni successive.
- Prima di avviare un progetto di migrazione a Go 1.12 o versioni successive, consulta la panoramica della migrazione in runtime e le considerazioni sulla migrazione quando utilizzi i servizi in bundle legacy.
Installazione dell'SDK per i servizi App Engine
Per chiamare le API dei servizi in bundle legacy con Go 1.12 e versioni successive, devi utilizzare l'SDK più recente. Segui questi passaggi:
Aggiorna il file
app.yaml
in modo da includere la seguente riga:app_engine_apis: true
Aggiungi un riferimento all'ultimo SDK nel file
go.mod
eseguendogo get
nel terminale, come indicato di seguito:go get google.golang.org/appengine/v2
La differenza principale quando esegui l'upgrade a Go 1.12+ è l'uso della versione 2 dell'SDK dei servizi App Engine.
Nell'app, modifica le istruzioni di importazione inserendo
/v2/
nei nomi dei pacchetti precedenti. Ad esempio, se utilizzi memcache:import ( "google.golang.org/appengine/v2" "google.golang.org/appengine/v2/memcache" )
Per l'elenco completo dei nomi dei pacchetti disponibili, consulta la documentazione di riferimento delle API dei servizi in bundle legacy.
Esegui
go mod tidy
per ripulire i riferimenti nel filego.mod
.go mod tidy
Considerazioni sulla migrazione
Se esegui la migrazione al runtime Go 1.12 o versioni successive e la tua app utilizza servizi in bundle legacy, tieni presente le seguenti considerazioni:
- Per testare la funzionalità dei servizi in bundle legacy nella tua app Go 1.12 o versioni successive, esegui l'applicazione nel tuo ambiente locale con gli strumenti di sviluppo che utilizzi di solito, ad esempio
go run
. - Per eseguire il deployment dell'app, utilizza il comando
gcloud app deploy
.