Crea un'app Python nell'ambiente flessibile di App Engine
ID regione
REGION_ID
è un codice abbreviato che Google assegna
in base alla regione selezionata al momento della creazione dell'app. Il codice non
corrisponde a un paese o a una provincia, anche se alcuni ID regione possono sembrare
simili ai codici paese e provincia 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 rapida illustra come creare ed eseguire il deployment di un'app che visualizza un breve messaggio. L'applicazione di esempio utilizza l'ultima versione di Python 3. Puoi
utilizzare lo stesso esempio di codice per qualsiasi versione supportata di Python, specificando la versione nel file app.yaml
.
Prima di iniziare
- Accedi al tuo account Google Cloud. Se non conosci Google Cloud, crea un account per valutare le prestazioni dei nostri prodotti in scenari reali. I nuovi clienti ricevono anche 300 $di crediti gratuiti per l'esecuzione, il test e il deployment dei carichi di lavoro.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Assicurati che la fatturazione sia attivata per il tuo progetto Google Cloud.
-
Attiva Cloud Build API.
- Installa Google Cloud CLI.
-
Per initialize gcloud CLI, esegui questo comando:
gcloud init
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Assicurati che la fatturazione sia attivata per il tuo progetto Google Cloud.
-
Attiva Cloud Build API.
- Installa Google Cloud CLI.
-
Per initialize gcloud CLI, esegui questo comando:
gcloud init
Prerequisiti aggiuntivi
Inizializza la tua app App Engine con il tuo progetto e scegli la relativa area geografica:
gcloud app create --project=[YOUR_PROJECT_ID]
Quando richiesto, seleziona l'area geografica in cui vuoi individuare l'applicazione App Engine.
Installa i seguenti prerequisiti:
Esegui questo comando per installare il componente gcloud che include l'estensione App Engine per Python:
gcloud components install app-engine-python
Prepara l'ambiente per lo sviluppo in Python. Ti consigliamo di installare sul sistema la versione più recente di Python,
pip
e altri strumenti correlati. Per le istruzioni, consulta la Guida alla configurazione dell'ambiente di sviluppo Python.
Località App Engine
App Engine è regionale, il che significa che l'infrastruttura che esegue le tue app si trova in una regione specifica e Google la gestisce in modo che sia disponibile in modo ridondante in tutte le zone all'interno della regione.
Soddisfare i requisiti di latenza, disponibilità o durabilità sono fattori principali per selezionare la regione in cui vengono eseguite le tue app. In genere puoi selezionare la regione più vicina agli utenti dell'app, ma devi considerare le località in cui è disponibile App Engine e le località degli altri prodotti e servizi Google Cloud utilizzati dall'app. L'utilizzo di servizi in più località può influire sulla latenza dell'app e sui relativi pricing.
Non puoi modificare la regione di un'app dopo averla impostata.
Se hai già creato un'applicazione App Engine, puoi visualizzarne la regione eseguendo una delle seguenti operazioni:
Esegui il comando
gcloud app describe
.Apri la dashboard di App Engine nella console Google Cloud. L'area viene visualizzata vicino alla parte superiore della pagina.
scarica l'app Hello World
Abbiamo creato una semplice app Hello World per App Engine, così puoi capire come eseguire il deployment di un'app in Google Cloud.
Clona il repository dell'app di esempio Hello World nella tua macchina locale.
git clone https://github.com/GoogleCloudPlatform/python-docs-samples
In alternativa puoi scaricare l'esempio come file ZIP ed estrarlo.
Passa alla directory che contiene il codice campione.
cd python-docs-samples/appengine/flexible/hello_world
Esegui Hello World sul computer locale
Per eseguire l'applicazione Hello World nel computer locale:
Mac OS / Linux
- Crea un
ambiente Python isolato:
python3 -m venv env
source env/bin/activate
- Se non ti trovi nella directory che contiene il codice campione, passa alla directory che contiene il codice campione
hello_world
. Quindi installa le dipendenze:cd YOUR_SAMPLE_CODE_DIR
pip install -r requirements.txt
- Esegui l'applicazione:
python main.py
- Nel browser web, inserisci il seguente indirizzo:
http://localhost:8080
Se utilizzi Cloud Shell, fai clic su Anteprima web
nella barra degli strumenti e seleziona Anteprima sulla porta 8080.
Windows
Utilizza PowerShell per eseguire i pacchetti Python.
- Individua la tua installazione di PowerShell.
- Fai clic con il tasto destro del mouse sulla scorciatoia a PowerShell e avviala come amministratore.
- Crea un ambiente Python isolato.
python -m venv env
.\env\Scripts\activate
- Naviga alla directory del progetto e installa le dipendenze. Se non ti trovi nella directory che contiene il codice campione, passa alla directory che contiene il codice campione
hello_world
. Quindi, installa le dipendenze:cd YOUR_SAMPLE_CODE_DIR
pip install -r requirements.txt
- Esegui l'applicazione:
python main.py
- Nel browser web, inserisci il seguente indirizzo:
http://localhost:8080
Nella pagina viene visualizzato il messaggio Hello World dell'app di esempio. Nella finestra del terminale, premi Ctrl+C per uscire dal server web.
Esegui il deployment di Hello World ed eseguilo su App Engine
Per eseguire il deployment dell'app nell'ambiente flessibile di App Engine:-
Esegui il deployment dell'app Hello World eseguendo questo comando dalla directory
hello_world
:gcloud app deploy
Scopri di più sui flag facoltativi.
Flag dei comandi
gcloud
comuni-
Includi il flag
--version
per specificare un ID che identifica in modo univoco quella versione dell'app, altrimenti ne viene generato uno automaticamente. Esempio:--version [YOUR_VERSION_ID]
-
Includi il flag
--project
per specificare un ID progetto Google Cloud alternativo a quello che hai inizializzato come predefinito nello strumentogcloud
. Esempio:--project [YOUR_PROJECT_ID]
Esempio:
gcloud app deploy --version pre-prod-5 --project my-sample-app
Per scoprire di più sul deployment della tua app dalla riga di comando, consulta Test e deployment dell'app . Per un elenco di tutti i flag dei comandi, consulta la documentazione di riferimento
gcloud app deploy
. -
Includi il flag
-
Avvia il browser per visualizzare l'app all'indirizzo
https://PROJECT_ID.REGION_ID.r.appspot.com
gcloud app browse
dovePROJECT_ID
rappresenta l'ID progetto Google Cloud.
Questa volta la pagina che visualizza il messaggio Hello World viene pubblicata da un server web in esecuzione su un'istanza di App Engine.
Complimenti! Hai eseguito il deployment della tua prima app di App Engine nell'ambiente flessibile di App Engine.
Se hai riscontrato errori durante il deployment della tua applicazione, consulta i suggerimenti per la risoluzione dei problemi.Consulta le sezioni seguenti per informazioni sulla pulizia e per i link ai possibili passaggi successivi che puoi intraprendere.
Esegui la pulizia
Per evitare addebiti, puoi eliminare il tuo progetto Google Cloud per interrompere la fatturazione di tutte le risorse utilizzate all'interno del progetto.
- Nella console Google Cloud, vai alla pagina Gestisci risorse.
- Nell'elenco dei progetti, seleziona il progetto che vuoi eliminare, quindi fai clic su Elimina.
- Nella finestra di dialogo, digita l'ID del progetto e fai clic su Chiudi per eliminare il progetto.
Passaggi successivi
Impara a conoscere l'intera piattaforma
Ora che sai com'è lo sviluppo e il deployment delle app di App Engine, puoi esplorare il resto di Google Cloud. Hai già installato Google Cloud CLI, che ti offre gli strumenti per interagire con prodotti come Cloud SQL, Cloud Storage, Firestore e altri ancora.
Scopri di più sull'ambiente flessibile di App Engine
Ecco alcuni argomenti che ti aiuteranno a continuare a conoscere App Engine:
Revisione del codice Hello World
Hello World è l'app di App Engine più semplice possibile: contiene un solo servizio, ha una sola versione e tutto il codice si trova nella directory radice dell'app. Questa sezione descrive nel dettaglio ogni file dell'app.
main.py
L'app Hello World è un'app Flask di base composta da un solo file.
app.yaml
Il file app.yaml
descrive la seguente configurazione per la tua app:
- Imposta
env: flex
, a indicare che la tua app utilizza l'ambiente flessibile di App Engine. Specifica il runtime utilizzato dall'app. Se escludi l'impostazione
runtime_version
, App Engine utilizza l'ultima versione Python come versione predefinita dell'app.L'
entrypoint
indica ad App Engine come avviare l'app. Questa app utilizzagunicorn
per gestire l'app Python come alternativa al server di sviluppo di Flask (utilizzato nell'esecuzione in locale). La variabile$PORT
viene impostata da App Engine all'avvio dell'app. Per ulteriori informazioni suentrypoint
, consulta Avvio dell'app.
Per ulteriori informazioni sul funzionamento del runtime Python, consulta Il runtime Python.
Per ulteriori dettagli su come progettare un'app per sfruttare versioni e servizi, vedi Panoramica di App Engine.
Per maggiori dettagli sulle impostazioni di configurazione per App Engine, vedi Configurare l'app con app.yaml.
requirements.txt
requirements.txt
e il gestore di pacchetti Python
pip
dichiarano e installano le dipendenze dell'applicazione. Hello World richiede Flask, un framework web e Gunicorn, un server WSGI.
requirements.txt
definisce le librerie che verranno installate sia in locale che durante il deployment in App Engine.