Von gebündelten Legacy-Diensten migrieren

Der Großteil der Funktionen der gebündelten App Engine-Legacy-Dienste wird jetzt von den Cloud-Clientbibliotheken für Go bereitgestellt. Weitere Informationen dazu finden Sie unter den folgenden empfohlenen Alternativen.

Wenn die Migration zu einer nicht gebündelten Lösung für Ihr Projekt nicht infrage kommt, können Sie weiterhin die gebündelten Legacy-Dienste in Ihren Go 1.12+-Anwendungen als Fallback verwenden. Dieser Ansatz bietet Ihnen die Möglichkeit, später im Migrationszyklus zu ungebündelten Diensten zu wechseln.

  • Verwenden Sie Cloud Tasks, um Aufgaben aus Go 1.12 und höher mithilfe des cloudtasks-Pakets in eine Warteschlange zu stellen. Sie können einen beliebigen App Engine-Dienst als Ziel einer App Engine-Aufgabe verwenden.
  • Zum Senden von E-Mails verwenden Sie anstelle der App Engine Mail API einen externen E-Mail-Anbieter wie SendGrid, Mailgun oder Mailjet. Alle diese Dienste bieten APIs zum Senden von E-Mails aus Anwendungen.
  • Verwenden Sie zum Speichern von Anwendungsdaten Memorystore for Redis.
  • Greifen Sie über die Bibliothek google-api-go-client auf die App Engine Modules API zu. Mit den Umgebungsvariablen und der App Engine Admin API können Sie Informationen abrufen und die ausgeführten Dienste der Anwendung ändern:

    Dienstinformation Zugriff
    Aktueller Dienstname Umgebungsvariable GAE_SERVICE
    Aktuelle Dienstversion Umgebungsvariable GAE_VERSION
    Aktuelle Instanz-ID Umgebungsvariable GAE_INSTANCE
    Standardhostname Admin API-Methode apps.get
    Liste der Dienste Admin API-Methode apps.services.list
    Liste der Versionen für einen Dienst Admin API-Methode apps.services.versions.list
    Standardversion für einen Dienst, inklusive Traffic-Aufteilung Admin API-Methode apps.services.get
    Liste der für eine Version ausgeführten Instanzen Admin API-Methode apps.services.versions.instances.list
  • Anstelle der App Engine Blobstore API wird Cloud Storage empfohlen. Verwenden Sie Cloud Storage über das Paket storage. Informationen zur Einrichtung finden Sie auf der Seite Cloud Storage-Clientbibliotheken.

  • Greifen Sie über das Paket datastore auf Firestore im Datastore-Modus (Datastore) zu. Eine Einführung finden Sie auf der Seite Datastore-Clientbibliotheken.

  • Statt die App Engine Search API zu nutzen, können Sie eine beliebige Volltextsuchdatenbank wie ElasticSearch in Compute Engine hosten und über Ihren Dienst darauf zugreifen.

  • Ähnliche Funktionen wie die der App Engine Images API können Sie in Cloud Storage über das Paket storage und einen Drittanbieterdienst zur Bildbearbeitung nutzen. Informationen zur Einrichtung finden Sie auf der Seite Cloud Storage-Clientbibliotheken.

  • Verwenden Sie request.Context() oder Ihren bevorzugten Kontext anstelle von appengine.NewContext.

  • Die folgenden App Engine-spezifischen Funktionen wurden durch die unten aufgeführten Pakete der Go-Standardbibliothek ersetzt:

    App Engine-Paket Paket der Go-Standardbibliothek
    Paket cloudsql Paket database/sql
    Paket file Paket os
    Paket log Paket log
    Paket socket Paket net
    Paket urlfetch Paket net/http