Der Großteil der Funktionen der gebündelten Legacy-Dienste wird jetzt von den Cloud-Clientbibliotheken für PHP 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 PHP 7/8-Anwendungen als Fallback verwenden. Dieser Ansatz bietet Ihnen die Möglichkeit, später im Migrationszyklus zu ungebündelten Diensten zu wechseln.
Blobstore
Verwenden Sie zum Speichern und Abrufen von Daten Cloud Storage über die Cloud-Clientbibliotheken. Informationen zur Einrichtung finden Sie unter Cloud Storage verwenden.
Datastore
Sie können Firestore im Datastore-Modus als Alternative zur Datastore API verwenden, die in der Java 8-Laufzeit enthalten ist. Firestore ist die neueste Version von Datastore. Wir empfehlen den Datastore-Modus für Datenbanken, die hauptsächlich von App Engine-Anwendungen verwendet werden.
Bilder
Sie können Bilder aus Cloud Storage bereitstellen, entweder direkt oder mit einem Content Delivery Network (CDN) eines Drittanbieters.
Verwenden Sie zum Ändern der Größe, Konvertierung und Bearbeitung von Bildern eine Bildverarbeitungsbibliothek wie: GD oder ImageMagick Wenn Sie eine dieser Drittanbieterbibliotheken verwenden möchten, fügen Sie die Bibliothek als Abhängigkeit hinzu und aktualisieren Sie Ihren Code, um die APIs der Bibliothek aufzurufen.
Mit dem App Engine-Bilderdienst können Sie auch dynamische Anfragen an Ihre Anwendung vermeiden. Damit wird die Größe von Bildern mithilfe einer Bereitstellungs-URL geändert. Sie können stattdessen auch die Bilder mit der neuen Größe im Voraus generieren und dann zur Bereitstellung in Cloud Storage hochladen. Alternativ haben Sie die Möglichkeit, die Bildgröße mit einem entsprechenden externen CDN-Dienst (Content Delivery Network) zu ändern.
Logging
Wir empfehlen Ihnen, Ihre Anwendung auf die Verwendung von Cloud Logging zu aktualisieren. Diese unterstützt Funktionen wie das Aufrufen von Logs im Logs Explorer, das Herunterladen von Logs, das Filtern von Nachrichten nach Schweregrad und die Korrelation von Anwendungsnachrichten mit bestimmten Anfragen. Alternativ können Sie diese Funktionen aktivieren, indem Sie Lognachrichten schreiben, die bestimmte in einem JSON-Objekt strukturierte Daten enthalten. Weitere Informationen finden Sie unter Logs schreiben und ansehen.
Verwenden Sie zum Senden von E-Mails einen Drittanbieter wie SendGrid, Mailgun oder Mailjet. Alle diese Dienste bieten APIs zum Senden von E-Mails aus Anwendungen.
Memcache
Verwenden Sie zum Speichern von Anwendungsdaten Memorystore for Redis.
Module
Zum Abrufen von Informationen und zum Ändern der ausgeführten Dienste Ihrer Anwendung verwenden Sie eine Kombination aus Umgebungsvariablen und der App Engine Admin API:
Dienstinformation | Zugriff |
---|---|
Aktuelle Anwendungs-ID | Umgebungsvariable GAE_APPLICATION |
Aktuelle Projekt-ID | Umgebungsvariable GOOGLE_CLOUD_PROJECT |
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 |
Namespaces
Mit der Namespaces API konnten mehrinstanzenfähige Anwendungen Daten nach Mandanten partitionieren. Dazu wurde für jeden Mandanten einfach ein eindeutiger Namespace-String festgelegt.
Datastore unterstützt die Mehrinstanzenfähigkeit direkt, andere Google Cloud-Dienste dagegen nicht. Wenn Ihre mehrinstanzenfähige Anwendung andere Google Cloud-Dienste verwendet, müssen Sie die Mehrinstanzenfähigkeit manuell festlegen. Sie können mit der Cloud Resource Manager API programmatisch neue Projekte erstellen und projektübergreifend auf Ressourcen zugreifen, um Dienstinstanzen vollständig zu isolieren.
OAuth
Verwenden Sie zum Prüfen von OAuth 2.0-Tokens nicht den App Engine-OAuth-Dienst, sondern die Methode oauth2.tokeninfo
der OAuth 2.0-API.
Suche
Hosten Sie eine Volltextsuchdatenbank wie Elasticsearch in Compute Engine und greifen Sie von Ihrem Dienst aus darauf zu.
Aufgabenwarteschlange
Sie können Aufgaben für die asynchrone Codeausführung mithilfe der Cloud Tasks REST API und RPC API oder der Google Cloud-Clientbibliothek in eine Warteschlange stellen und einen PHP 7/8 App Engine-Standarddienst als Push-Ziel verwenden. Weitere Informationen finden Sie unter Von Aufgabenwarteschlangen zu Cloud Tasks migrieren.
In vielen Fällen, in denen Sie Pull-Warteschlangen verwenden können, z. B. für Aufgaben oder Nachrichten, die von unterschiedlichen Workern abgerufen und verarbeitet werden, ist Pub/Sub eine empfehlenswerte Alternative, die ähnliche Funktionen und Zustellgarantien bietet.
Informationen zu Java 11/17 finden Sie im folgenden Beispielprogramm, das mit der Cloud Tasks API interagiert.
Nutzerauthentifizierung
Verwenden Sie als Alternative zur Users API einen beliebigen HTTP-basierten Authentifizierungsmechanismus, beispielsweise:
- OAuth 2.0 und OpenID Connect bieten die föderierte Identität vom Anbieter Ihrer Wahl. Google ist ein OpenID Connect-Identitätsanbieter. Außerdem ist eine Reihe weiterer Anbieter verfügbar.
- Firebase Authentication ermöglicht eine Authentifizierung mithilfe von Nutzername/Passwort und einer föderierten Identität über Google, Facebook, Twitter und andere.
- Google Identity Platform bietet zahlreiche Optionen zur Authentifizierung und Autorisierung von Google-Nutzerkonten.
- Auth0 bietet die Authentifizierung mithilfe verschiedener Identitätsanbieter und Funktionen zur Einmalanmeldung (SSO).