Lokalen Entwicklungsserver nach dem Ende des Supports für Laufzeiten verwenden

Sie können die neueste Version von dev_appserver.py nicht verwenden, um Ihre Anwendungen für Laufzeiten lokal auszuführen, die das Ende des Supports erreicht haben. Um weiterhin eine archivierte Version von dev_appserver.py zu verwenden, folgen Sie der Anleitung in diesem Leitfaden.

Sie können den lokalen Entwicklungsserver verwenden, um die Ausführung Ihrer App Engine-Anwendung in der Produktion zu simulieren und für den Zugriff auf gebündelte App Engine-Dienste zu nutzen. Die simulierte Umgebung erzwingt gewisse Sandbox-Einschränkungen wie eingeschränkte Systemfunktionen und Modulimporte von Laufzeit-Sprachmodulen. Andere Elemente wie Anfragezeitüberschreitungen oder Kontingente werden hingegen nicht erzwungen.

Der lokale Entwicklungsserver simuliert außerdem die von den Bibliotheken im SDK für App Engine bereitgestellten Dienste, einschließlich Datenspeicher, Memcache und Aufgabenwarteschlangen. Hierzu werden die Aufgaben der Dienste vom Server lokal ausführt. Wenn die Anwendung auf dem Entwicklungsserver ausgeführt wird, können Sie weiterhin Remote API-Aufrufe über die HTTP-Endpunkte der Google API an die Produktionsinfrastruktur senden.

Hinweise

So laden Sie eine archivierte Version von devapp_server.py herunter:

  1. Laden Sie aus dem Archiv den komprimierten Ordner herunter, der den dev_appserver.py-Server für Laufzeiten enthält, die das Ende des Supports erreicht haben.

  2. Extrahieren Sie den Inhalt des Verzeichnisses in Ihr lokales Dateisystem, z. B. in Ihr /home-Verzeichnis. Sie finden dev_appserver.py im Verzeichnis google_appengine/.

Lokalen Entwicklungsserver einrichten

Für die Ausführung des lokalen Entwicklungsserver-Tools muss Folgendes eingerichtet sein:

  1. Prüfen Sie, ob Sie einen Python 2-Interpreter der Version 2.7.12 oder höher installiert haben.

  2. Legen Sie für die DEVAPPSERVER_PYTHON-Umgebungsvariable in Ihrer Shell den Pfad des Python 2-Interpreters fest.

  3. Suchen Sie das dev_appserver.py-Tool im Ordner /google_appengine/, in den Sie das heruntergeladene Archiv extrahieren. Beispiel:

    DEVAPPSERVER_ROOT/google_appengine/dev_appserver.py
    

Lokalen Entwicklungsserver ausführen

Nachdem Sie den lokalen Entwicklungsserver eingerichtet und die Konfigurationsdatei app.yaml für die Anwendung erstellt haben, können Sie den dev_appserver.py-Befehl für Ihre Anwendung lokal ausführen.

So starten Sie den lokalen Entwicklungsserver:

  1. Führen Sie in dem Verzeichnis, das Ihre app.yaml-Konfigurationsdatei enthält, den dev_appserver.py-Befehl aus.

    Geben Sie den Verzeichnispfad zur Anwendung an. Beispiel:

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

    Sie können das Argument auch auf eine durch Kommas getrennte Liste an [RUNTIME_ID]=[PYTHON_INTERPRETER_PATH]-Paaren festlegen. Beispiel:

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

    Fügen Sie zum Ändern des Ports die Option --port hinzu:

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

    Ersetzen Sie DEVAPPSERVER_ROOT durch den Pfad zu dem Ordner, in den Sie die archivierte Version von devapp_server.py extrahieren.

  2. Der lokale Entwicklungsserver wird jetzt ausgeführt und ist für Anfragen bereit. Rufen Sie http://localhost:8080/ in Ihrem Webbrowser auf, um die Anwendung in Aktion zu sehen.

    Wenn Sie einen benutzerdefinierten Port mit der Option --port angegeben haben, müssen Sie den Port in Ihrem Browser öffnen.

Mit den folgenden Tastenkombinationen können Sie den lokalen Server über die Befehlszeile beenden:

  • macOS oder Linux: Strg + C
  • Windows: Strg + Pause

Anwendungs-IDs angeben

Verwenden Sie die get_application_id()-Funktion zum Aufrufen der Anwendungs-ID auf dem lokalen Server, z. B. für das Spoofing einer E-Mail-Adresse.

Verwenden Sie die get_default_version_hostname()- Funktion, um den Hostnamen der ausgeführten Anwendung abzurufen.

Laufzeitumgebung der Anwendung erkennen

Ermitteln Sie den Wert der Umgebungsvariable GAE_ENV, um zu prüfen, ob der Code in einer Produktionsumgebung oder auf dem lokalen Entwicklungsserver ausgeführt wird:

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

Mail-Dienst verwenden

Der lokale Entwicklungsserver kann einen SMTP-Server oder eine lokale Installation von Sendmail nutzen, um E-Mails für Aufrufe an den App Engine-E-Mail-Dienst zu senden.

SMTP verwenden

Zum Aktivieren der E-Mail-Unterstützung mit einem SMTP-Server rufen Sie dev_appserver.py so auf:

    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

Ersetzen Sie:

  • DEVAPPSERVER_ROOT durch den Pfad zu dem Ordner, in den Sie die archivierte Version von devapp_server.py extrahieren.
  • Optionen --smtp_host, --smtp_port, --smtp_user und --smtp_password durch Ihre eigenen Konfigurationswerte.
  • PATH_TO_YOUR_APP durch den Pfad zu Ihrer Anwendung.

Sendmail verwenden

Zum Aktivieren der E-Mail-Unterstützung mit Sendmail rufen Sie dev_appserver.py so auf:

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

Ersetzen Sie:

  • DEVAPPSERVER_ROOT durch den Pfad zu dem Ordner, in den Sie die archivierte Version von devapp_server.py extrahieren.
  • PATH_TO_YOUR_APP durch den Pfad zu Ihrer Anwendung.

Der lokale Server verwendet dann den Befehl sendmail, um E-Mail-Nachrichten mit der Standardkonfiguration Ihrer Installation zu versenden.

URL-Abrufdienst verwenden

Wenn die Anwendung die URL Fetch API zum Erstellen einer HTTP-Anfrage verwendet, führt der lokale Entwicklungsserver die Anfrage direkt von Ihrem Computer aus. Das Verhalten von URL Fetch auf dem lokalen Server kann sich vom Verhalten in der App Engine-Produktionsumgebung unterscheiden, wenn Sie einen Proxyserver für den Zugriff auf Websites verwenden.

Nutzerdienst verwenden

App Engine bietet einen Nutzerdienst, der die Authentifizierung und Autorisierung für Ihre Anwendung vereinfacht. Der lokale Entwicklungsserver simuliert das Verhalten von Google-Konten mit eigenen Anmelde- und Abmeldeseiten.

Bei der Ausführung auf dem lokalen Entwicklungsserver geben die Funktionen URLs für /_ah/login und /_ah/logout auf dem lokalen Server zurück.

Befehlszeilenargumente

Informationen zu den Befehlsoptionen für den lokalen Entwicklungsserver finden Sie unter Optionen für lokalen Entwicklungsserver.