Aktualisierte Anwendung in Python 3 testen und bereitstellen

Regions-ID

REGION_ID ist ein abgekürzter Code, den Google anhand der Region zuweist, die Sie beim Erstellen Ihrer Anwendung ausgewählt haben. Der Code bezieht sich nicht auf ein Land oder eine Provinz, auch wenn einige Regions-IDs häufig verwendeten Länder- und Provinzcodes ähneln können. Bei Anwendungen, die nach Februar 2020 erstellt wurden, ist REGION_ID.r in den App Engine-URLs enthalten. Bei Anwendungen, die vor diesem Datum erstellt wurden, ist die Regions-ID in der URL optional.

Hier finden Sie weitere Informationen zu Regions-IDs.

Nachdem Sie Ihre Anwendung so aktualisiert haben, dass sie sowohl mit Python 2 als auch mit Python 3 kompatibel ist:

  1. Testen Sie die Anwendung in einer lokalen Python 3-Umgebung.

  2. Stellen Sie die Anwendung in App Engine bereit und testen Sie sie, ohne den Traffic zur Anwendung zu migrieren.

  3. Migrieren Sie den Traffic zur Anwendung.

Möglicherweise müssen Sie viel Zeit für die Behebung von Kompatibilitätsproblemen aufwenden, die erst sichtbar werden, wenn Sie die aktualisierte Anwendung in einer Python 3-Umgebung ausführen.

Um während der Tests keine Produktionsdaten und keine Google Cloud-Kontingente nutzen zu müssen, können Sie die folgenden Emulatoren verwenden:

Andere Google Cloud-Dienste wie Cloud Storage und Memorystore bieten keine Emulatoren.

Anwendung lokal testen

Wenn Sie die Funktionsweise der Anwendung vor der Bereitstellung testen möchten, folgen Sie der Anleitung für die lokale Ausführung in der Python 3-Laufzeit.

Vor dem Verschieben von Traffic in App Engine testen

Bevor Sie Traffic zur aktualisierten Python-Anwendung leiten, stellen Sie die Anwendung für eine weitere Testrunde in der Python 3-Laufzeit von App Engine bereit. So testen Sie beispielsweise den default-Dienst der Anwendung:

  1. Sie müssen die Konfigurationsdateien der Anwendung so aktualisieren, dass sie mit der Python 3-Laufzeit kompatibel sind.

    Ändern Sie keine Umgebungsvariablen, die Anfragen an Emulatoren oder Testdatenbanken senden, bis Sie bereit sind, den Traffic zur Anwendung zu migrieren.

  2. Stellen Sie die neue Version bereit, aber verhindern Sie, dass Traffic automatisch dorthin geleitet wird:

    gcloud app deploy --no-promote

  3. Greifen Sie über folgende URL auf die neue Version zu:

    https://VERSION_ID-dot-default-dot-PROJECT_ID.REGION_ID.r.appspot.com

Sie können die neue Version jetzt in der App Engine-Laufzeitumgebung testen. Prüfen Sie die zugehörigen Logs, um Fehler in der Anwendung zu beheben. Weitere Informationen finden Sie unter Anwendungslogs schreiben.

Anfragen, die an https://PROJECT_ID.REGION_ID.r.appspot.com gesendet werden, werden an die Version weitergeleitet, die zuvor für den Empfang von Traffic konfiguriert war.

Um neue Versionen anderer Dienste zu testen, gehen Sie genauso vor, aber ersetzen Sie default in der URL durch den Namen Ihres Dienstes:

https://VERSION-dot-SERVICE-dot-PROJECT_ID.REGION_ID.r.appspot.com

Weitere Informationen zum Auswählen bestimmter Dienste und Versionen finden Sie unter Anfragenrouting.

Traffic zur Anwendung migrieren

Wenn Sie bereit sind, Traffic an die neue Version zu senden:

  1. Aktualisieren Sie Umgebungsvariablen in der app.yaml-Datei, um Anfragen an Ihre Produktionsdatenbanken und anderen Dienste statt an die bisher verwendeten Emulatoren oder Testdaten zu senden.

  2. Verhindern Sie, dass Traffic bei der Bereitstellung automatisch zur neuen Version geleitet wird:

    gcloud app deploy --no-promote

  3. Wenn Sie bestätigt haben, dass die Anwendung mit Ihren Produktionsdatenbanken und Datenspeichern interagiert, können Sie den Traffic mit der Google Cloud Console migrieren:

    Versionen verwalten

    Wählen Sie die neueste Version Ihrer aktualisierten Anwendung aus und klicken Sie auf Traffic migrieren.