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.
Recherche
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 :
- OAuth 2.0 et OpenID Connect, qui permettent d'obtenir une identité fédérée auprès du fournisseur de votre choix. Google est un fournisseur d'identité OpenID Connect. Sachez qu'il existe également plusieurs autres fournisseurs.
- Firebase Authentication qui fournit un mécanisme d'authentification basé sur le nom d'utilisateur/mot de passe et l'identité fédérée à l'aide de Google, Facebook, Twitter, etc. ;
- La plate-forme Google Identity qui propose de nombreuses options d'authentification et d'autorisation des comptes utilisateur Google ;
- Auth0 qui permet l'authentification via divers fournisseurs d'identité et des fonctionnalités d'authentification unique.