Utilizzare il server di sviluppo locale dopo il ritiro del supporto delle piattaforme di runtime

Non puoi utilizzare la versione più recente di dev_appserver.py per eseguire localmente le tue applicazioni per i runtime che hanno raggiunto il termine del supporto. Per continuare a utilizzare una versione archiviata di dev_appserver.py, segui le istruzioni riportate in questa guida.

Puoi utilizzare il server di sviluppo locale per simulare l'esecuzione della tua applicazione App Engine in produzione, nonché per accedere ai servizi integrati precedenti di App Engine. L'ambiente simulato applica alcune limitazioni della sandbox, ad esempio le funzioni di sistema con limitazioni e le importazioni dei moduli di lingua di runtime, ma non altre, come i timeout o le quote delle richieste.

Il server di sviluppo locale simula anche i servizi forniti dalle librerie nell'SDK per App Engine, tra cui Datastore, Memcache e Task Queues, eseguendo le relative attività localmente. Quando l'applicazione è in esecuzione sul server di sviluppo, puoi comunque effettuare chiamate API remote all'infrastruttura di produzione utilizzando gli endpoint HTTP dell'API Google.

Prima di iniziare

Per scaricare una versione archiviata di devapp_server.py, segui questi passaggi:

  1. Dall'archivio, scarica la cartella compressa contenente il server dev_appserver.py per i runtime che hanno raggiunto il termine del supporto.

  2. Estrai i contenuti della directory nel file system locale, ad esempio nella directory /home. Puoi trovare dev_appserver.py nella directory google_appengine/.

Configura il server di sviluppo locale

Per eseguire lo strumento del server di sviluppo locale, devi configurare quanto segue:

  1. Verifica di aver installato un interprete Python 2 della versione 2.7.12 o successiva.

  2. Imposta la variabile di ambiente DEVAPPSERVER_PYTHON nella shell sul percorso dell'interprete Python 2.

  3. Individua lo strumento dev_appserver.py nella cartella /google_appengine/ in cui hai estratto l'archivio scaricato, ad esempio:

    DEVAPPSERVER_ROOT/google_appengine/dev_appserver.py
    

Esegui il server di sviluppo locale

Dopo aver configurato il server di sviluppo locale e creato il file di configurazione app.yaml per la tua app, puoi utilizzare il comando dev_appserver.py per eseguirla localmente.

Per avviare il server di sviluppo locale:

  1. Nella directory contenente il file di configurazione app.yaml, esegui il comando dev_appserver.py.

    Specifica il percorso della directory dell'app, ad esempio:

       python2 DEVAPPSERVER_ROOT/google_appengine/dev_appserver.py --runtime_python_path=/usr/bin/python2 [PATH_TO_YOUR_APP]
    

    Puoi anche impostare l'argomento su un elenco separato da virgole di coppie [RUNTIME_ID]=[PYTHON_INTERPRETER_PATH]. Ad esempio:

       python2 DEVAPPSERVER_ROOT/google_appengine/dev_appserver.py --runtime_python_path="python27=/usr/bin/python2.7" [PATH_TO_YOUR_APP]
    

    Per modificare la porta, includi l'opzione --port:

       python2 DEVAPPSERVER_ROOT/google_appengine/dev_appserver.py  --runtime_python_path=/usr/bin/python2 --port=9999 [PATH_TO_YOUR_APP]
    

    Sostituisci DEVAPPSERVER_ROOT con il percorso della cartella in cui estrarre la versione archiviata di devapp_server.py.

  2. Ora il server di sviluppo locale è in esecuzione e rimane in attesa delle richieste. Puoi visitare la pagina http://localhost:8080/ nel browser web per vedere l'app in azione.

    Se hai specificato una porta personalizzata con l'opzione --port, ricordati di aprire il browser su quella porta.

Per arrestare il server locale dalla riga di comando, premi quanto segue:

  • macOS o Linux: Control+C
  • Windows: Ctrl+Break

Specifica gli ID applicazione

Per accedere al tuo ID app nel server locale, ad esempio per falsificare un indirizzo email, utilizza la funzione get_application_id().

Per ottenere il nome host dell'app in esecuzione, utilizza la funzione get_default_version_hostname().

Rileva l'ambiente di runtime dell'applicazione

Per determinare se il codice è in esecuzione in produzione o nel server di sviluppo locale, puoi controllare il valore della variabile di ambiente GAE_ENV:

if os.getenv('GAE_ENV', '').startswith('standard'):
  # Production in the standard environment
else:
  # Local development server

Utilizzare il servizio Posta

Il server di sviluppo locale può inviare email per le chiamate al servizio email di App Engine utilizzando un server SMTP o un'installazione locale di Sendmail.

Utilizzo di SMTP

Per attivare il supporto della posta con un server SMTP, invoca dev_appserver.py come segue:

    python2 DEVAPPSERVER_ROOT/google_appengine/dev_appserver.py --smtp_host=smtp.example.com --smtp_port=25 \
  --smtp_user=ajohnson --smtp_password=k1tt3ns PATH_TO_YOUR_APP

Sostituisci:

  • DEVAPPSERVER_ROOT con il percorso della cartella in cui estrarre la versione archiviata di devapp_server.py.
  • Opzioni --smtp_host, --smtp_port, --smtp_user e --smtp_password con i tuoi valori di configurazione.
  • PATH_TO_YOUR_APP con il percorso dell'applicazione.

Utilizzo di Sendmail

Per attivare il supporto della posta con Sendmail, invoca dev_appserver.py come segue:

  python2 DEVAPPSERVER_ROOT/google_appengine/dev_appserver.py --enable_sendmail=yes PATH_TO_YOUR_APP

Sostituisci:

  • DEVAPPSERVER_ROOT con il percorso della cartella in cui estrarre la versione archiviata di devapp_server.py.
  • PATH_TO_YOUR_APP con il percorso dell'applicazione.

Il server locale utilizza il comando sendmail per inviare messaggi email con la configurazione predefinita dell'installazione.

Utilizzare il servizio di recupero URL

Quando l'applicazione utilizza l'API URL Fetch per effettuare una richiesta HTTP, il server di sviluppo locale effettua la richiesta direttamente dal computer. Il comportamento di recupero dell'URL sul server locale potrebbe essere diverso da quello di App Engine di produzione se utilizzi un server proxy per accedere ai siti web.

Utilizzare il servizio Utenti

App Engine fornisce un servizio Utenti per semplificare l'autenticazione e l'autorizzazione per la tua applicazione. Il server di sviluppo locale simula il comportamento degli Account Google con le proprie pagine di accesso ed esci.

Durante l'esecuzione sul server di sviluppo locale, le funzioni restituiscono gli URL per /_ah/login e /_ah/logout sul server locale.

Argomenti della riga di comando

Per le opzioni del comando del server di sviluppo locale, consulta Opzioni del server di sviluppo locale.