ID regione
REGION_ID
è un codice abbreviato assegnato da Google in base alla regione selezionata quando crei l'app. Il codice non corrisponde a un paese o a una provincia, anche se alcuni ID regione possono sembrare simili ai codici di paesi e province di uso comune. Per le app create dopo febbraio 2020, REGION_ID.r
è incluso negli URL di App Engine. Per le app esistenti create prima di questa data, l'ID regione è facoltativo nell'URL.
Scopri di più sugli ID regione.
Questa guida ti aiuta a iniziare a utilizzare App Engine e a familiarizzare con lo sviluppo, il deployment e la gestione di un'app Go.
Costi
La pubblicazione di questa guida non comporta costi. L'esecuzione di questa app di esempio da sola non supera la quota gratuita.
Configurazione dell'ambiente di sviluppo
Puoi utilizzare la tua macchina locale e gli strumenti che già conosci oppure Cloud Shell. Cloud Shell ha già installato Google Cloud CLI, il tuo ambiente è già configurato e offre molte altre funzionalità.
Computer locale
Installa Go e configura gcloud CLI.
Cloud Shell
Avvia Cloud Shell, che ha tutti gli strumenti di cui hai bisogno preinstallati:
Creazione di un progetto Google Cloud
Per utilizzare Google Cloud è necessario un progetto, che costituisce la base per l'utilizzo di tutti i servizi Google Cloud.
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Cloud Build API.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Cloud Build API.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
- Crea l'app App Engine e le risorse associate. Devi scegliere una località, che non può essere modificata in un secondo momento.
gcloud app create
Scrivere un servizio web di base per App Engine
Scopri come scrivere un servizio web e dichiarare le impostazioni di runtime.
Strutturare i file
Il servizio avrà la seguente struttura di file:
go-app/
: la directory del servizio Go 1.11.app.yaml
: le impostazioni di configurazione del servizio.main.go
: il codice della tua applicazione.
Creazione del file app.yaml
Ogni progetto App Engine ha un file di configurazione app.yaml
che
specifica le impostazioni dell'ambiente di runtime del servizio. Il servizio non verrà eseguito senza questo file.
Crea una nuova cartella denominata
go-app
per il servizio Go 1.11:mkdir go-app
Nella cartella
go-app/
, crea un file denominatoapp.yaml
e aggiungi i seguenti contenuti:Questa è la configurazione più semplice per un'app App Engine. Indica ad App Engine che utilizzi il runtime Go 1.11. Il file
app.yaml
può anche specificare impostazioni di rete, impostazioni di scalabilità e altro ancora. Per ulteriori informazioni, consulta il riferimentoapp.yaml
.
Creazione del file main.go
Questo esempio utilizza il pacchetto
net/http
per creare un server HTTP che stampa "Hello world".
Per configurare il file main.go
:
Nella cartella
go-app/
, crea un filemain.go
.Aggiungi l'istruzione
package main
per trattare il codice come un programma eseguibile:package main
Per eseguire il deployment di un servizio nel runtime Go 1.11, è necessario definire un'istruzione
package main
all'inizio di almeno uno dei file di codice Go nella stessa directory del fileapp.yaml
del servizio.Importa i seguenti pacchetti:
Definisci il gestore HTTP:
L'oggetto
http.ResponseWriter
assembla la risposta del server HTTP. Se scrivi al suo interno, invii i dati al browser. L'oggettohttp.Request
è una struttura di dati che rappresenta la richiesta HTTP in arrivo.Registra il gestore HTTP:
La funzione
main
è il punto di ingresso del programma eseguibile, quindi avvia l'applicazione. Inizia con una chiamata alla funzionehttp.HandleFunc
che indica al pacchettohttp
di gestire tutte le richieste alla radice web ("/"
) con la funzioneindexHandler
.Se la variabile di ambiente
PORT
non è impostata, viene utilizzata la porta8080
come valore predefinito. Quando l'app è in esecuzione su App Engine, la variabile di ambientePORT
viene impostata automaticamente, ma quando testi l'app localmente, puoi impostarePORT
su qualsiasi valore che preferisci.
Eseguire il deployment del servizio web su App Engine
Nella directory
go-app
in cui si trova il fileapp.yaml
, esegui il deployment del servizio web in App Engine utilizzando il seguente comando:gcloud app deploy
Per avviare il browser e visualizzare il servizio web all'indirizzo
https://PROJECT_ID.REGION_ID.r.appspot.com
, esegui il seguente comando:gcloud app browse
Complimenti! Hai appena creato ed eseguito il deployment di un servizio su App Engine.
Servizi e versioni
Il primo servizio di cui esegui il deployment per l'applicazione sarà il servizio predefinito.
Puoi specificare il nome del servizio nel file app.yaml
, ma se il nome viene omesso, viene trattato come default
. Puoi eseguire il deployment di più servizi
diversi da quello predefinito.
Puoi aggiornare il servizio in qualsiasi momento eseguendo il comando gcloud app deploy
. Ogni volta che esegui il deployment, viene creata una nuova versione e il traffico viene indirizzato automaticamente alla versione più recente.
Per confermare la creazione del servizio e il deployment della versione:
Visualizza i servizi App Engine nella console Google Cloud:
Dovresti vedere un servizio elencato, denominato
default
. Il servizio predefinito è accessibile pubblicamente all'URL seguente:https://PROJECT_ID.REGION_ID.r.appspot.com
Visualizza le tue versioni:
Dovresti vedere una versione con timestamp elencata, corrispondente al tuo deployment.
Per scoprire come inviare richieste a servizi e versioni specifici, consulta Modalità di routing delle richieste.
Passaggi successivi
Complimenti! Hai appena configurato ed eseguito il deployment della tua applicazione web in App Engine.
Scopri come aggiungere altre funzionalità alla tua applicazione consultando le seguenti pagine:
- Scopri di più sulla scrittura dei log delle applicazioni e sull'interpretazione dei log di sistema in Lettura e scrittura dei log delle applicazioni.
- Per approfondire il funzionamento di App Engine, consulta l'ambiente di runtime Go.
- Scopri di più sulla gestione delle richieste e sul routing delle richieste.