Migrer depuis d'anciens services groupés

La plupart des fonctionnalités fournies par les anciens services groupés sont désormais fournies par les bibliothèques clientes Cloud pour PHP. Pour plus d'informations, consultez les alternatives recommandées répertoriées ci-dessous.

Si la migration vers une solution non regroupée n'est pas possible pour votre projet, vous pouvez peut-être continuer à utiliser les anciens services groupés dans vos applications PHP 7/8 en tant que solution de remplacement. Cette approche vous permet de passer à des services non groupés plus tard dans le cycle de migration.

Blobstore

Pour stocker et récupérer des données, utilisez Cloud Storage via les bibliothèques clientes Cloud. Pour commencer, consultez la page Utiliser Cloud Storage.

Datastore

Vous pouvez utiliser Firestore en mode Datastore comme alternative à l'API Datastore fournie avec l'environnement d'exécution Java 8. Firestore est la dernière version de Datastore. Le mode Datastore est recommandé pour les bases de données utilisées principalement par les applications App Engine.

Images

Vous pouvez diffuser des images à partir de Cloud Storage, les diffuser directement ou utiliser un réseau de diffusion de contenu tiers (CDN).

Pour redimensionner, convertir et manipuler des images, utilisez une bibliothèque de traitement d'image telle que GD ou ImageMagick. Pour utiliser l'une de ces bibliothèques tierces, ajoutez-la en tant que dépendance et mettez à jour votre code pour appeler les API de la bibliothèque.

Le service Images App Engine fournit également une fonctionnalité permettant d'éviter les requêtes dynamiques adressées à votre application en gérant le redimensionnement des images à l'aide d'une URL de diffusion. Si vous souhaitez disposer de fonctionnalités similaires, vous pouvez générer les images redimensionnées à l'avance et les importer dans Cloud Storage pour les diffuser. Vous pouvez également utiliser un service de réseau de diffusion de contenu tiers (CDN, Content Delivery Network) permettant le redimensionnement des images.

Logging

Nous vous recommandons de mettre à jour votre application de sorte qu'elle utilise Cloud Logging, qui est compatible avec des fonctionnalités, telles que l'affichage des journaux dans l'explorateur de journaux, le téléchargement des journaux, le filtrage des messages par niveau de gravité et la mise en corrélation des messages de l'application avec des requêtes spécifiques. Vous pouvez également activer ces fonctionnalités en écrivant des messages de journal contenant des données spécifiques structurées dans un objet JSON. Pour en savoir plus, consultez la section Écrire et afficher des journaux.

Messagerie

Pour envoyer un e-mail, utilisez un fournisseur de messagerie tiers tel que SendGrid, Mailgun ou Mailjet. Tous ces services proposent des API permettant d'envoyer des e-mails à partir d'applications.

Memcache

Pour mettre en cache des données d'application, utilisez Memorystore pour Redis.

Modules

Pour obtenir des informations et modifier les services en cours d'exécution de votre application, utilisez une combinaison de variables d'environnement et de l'API Admin App Engine :

Informations sur les services Moyen d'accès
ID d'application actuel Variable d'environnement GAE_APPLICATION
ID de projet actuel Variable d'environnement GOOGLE_CLOUD_PROJECT
Nom actuel du service Variable d'environnement GAE_SERVICE
Version actuelle du service Variable d'environnement GAE_VERSION
ID actuel de l'instance Variable d'environnement GAE_INSTANCE
Nom d'hôte par défaut Méthode apps.get de l'API Admin
Liste des services Méthode apps.services.list de l'API Admin
Liste des versions d'un service Méthode apps.services.versions.list de l'API Admin
Version par défaut d'un service, y compris les répartitions du trafic Méthode apps.services.get de l'API Admin
Liste des instances en cours d'exécution d'une version Méthode apps.services.versions.instances.list de l'API Admin

Namespaces

L'API Namespaces permettait aux applications mutualisées de partitionner les données entre locataires en spécifiant simplement une chaîne d'espace de noms unique pour chaque locataire.

Datastore prend directement en charge la mutualisation, mais ce n'est pas le cas des autres services Google Cloud. Si votre application mutualisée utilise d'autres services Google Cloud, vous devez gérer la mutualisation manuellement. Pour disposer d'instances de services complètement isolées, vous pouvez créer des projets de manière automatisée à l'aide de l'API Cloud Resource Manager et accéder aux ressources de tous les projets.

OAuth

Au lieu d'utiliser le service OAuth App Engine pour vérifier les jetons OAuth 2.0, utilisez la méthode oauth2.tokeninfo de l'API OAuth 2.0.

Vous pouvez héberger les bases de données de recherche en texte intégral du type ElasticSearch dans Compute Engine et y accéder à partir de votre service.

File d'attente de tâches

Mettez en file d'attente des tâches d'exécution de code asynchrone à l'aide de l'API REST Cloud Tasks, de l'API RPC ou de la bibliothèque cliente Google Cloud. Vous pouvez également utiliser un service standard App Engine PHP 7/8 en tant que cible Push. Pour plus d'informations, consultez la page Migrer des files d'attente de tâches vers Cloud Tasks.

Dans la plupart des cas où vous pouvez utiliser des files d'attente de retrait, telles que la mise en file d'attente des tâches ou des messages retirés et traités par des nœuds de calcul distincts, Pub/Sub peut être une bonne alternative, offrant des fonctionnalités et des garanties de livraison semblables.

Pour Java 11/17, consultez l'exemple de programme suivant qui interagit avec l'API Cloud Tasks.

Authentification des utilisateurs

Comme alternative à l'API Users, utilisez n'importe quel mécanisme d'authentification basé sur HTTP, par exemple :