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 groupée n'est pas possible pour votre projet, vous pouvez peut-être continuer à utiliser les anciens services groupés dans vos applicationsJava 11/17 en remplacement. Cette approche vous permet de passer à des services non groupés plus tard dans le cycle de migration.
Chemins de migration pour les services groupés App Engine
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. Firestore est la dernière version de Datastore. Nous recommandons d'utiliser les bibliothèques clientes Cloud pour Datastore.
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 queImageJ2, imgscalr ou thumbnailator
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.
Journalisation
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. Si vous préférez la simplicité à la justesse des données, vous pouvez également écrire des journaux structurés dans stdout
ou stderr
.
Pour en savoir plus, consultez les pages É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. Il n'y a pas d'alternative tierce recommandée pour la messagerie entrante pour le moment.
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 App Engine Admin :
Informations sur les services | Moyen d'accès |
---|---|
ID d'application actuel | Variable d'environnement GAE_APPLICATION |
ID du 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 |
Pour plus d'informations sur les données disponibles sur les services en cours d'exécution de votre application, consultez la page Environnement d'exécution Java 11/17 .
Espaces de noms
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 des bibliothèques clientes Cloud, et utilisez un service standard App EngineJava 11/17en tant que cible Push. Pour plus d'informations, consultez la page Migrer des files d'attente de tâches vers Cloud Tasks.
Pour Java 11/17, consultez l'exemple de programme suivant qui interagit avec l'API 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.
Authentification des utilisateurs
Comme alternative à l'API Users, utilisez l'un des mécanismes d'authentification HTTP décrits sur la page Authentification des utilisateurs.