La compatibilité de la version 5.5 de PHP n'étant plus assurée par la communauté, nous vous recommandons vivement d'utiliser l'environnement d'exécution PHP 7 pour toute nouvelle application.

Utiliser Cloud Firestore en mode Datastore

Conçue pour le scaling automatique et les hautes performances, Firestore est une base de données de documents NoSQL qui simplifie le développement d'applications. Firestore est la dernière version de Datastore et introduit plusieurs améliorations par rapport à Datastore.

Nous vous recommandons d'utiliser Firestore en mode Datastore pour les bases de données qui sont principalement utilisées par les applications App Engine. Pour en savoir plus sur les modes de Firestore, consultez la page Choisir entre le mode natif et le mode Datastore.

Utiliser le mode Datastore avec App Engine

Pour utiliser le mode Datastore avec App Engine, procédez comme suit :

  1. Si vous ne l'avez pas encore fait, créez une base de données et choisissez Firestore en mode Datastore.

    Vous pouvez utiliser les applications App Engine des bases de données Datastore existantes. Celles-ci seront automatiquement mises à niveau vers Firestore en mode Datastore.

  2. Dans votre application, déclarez Datastore en tant que dépendance en ajoutant google/cloud-datastore au fichier composer.json de votre application et en exécutant composer install à partir du répertoire de votre application. En savoir plus sur Composer

  3. Utilisez la bibliothèque cliente Google Cloud pour lire et écrire des entités, ainsi que pour interroger des données.

Configurer des index

Le mode Datastore utilise des index pour chaque requête de votre application. Les index sont mis à jour chaque fois qu'une entité est modifiée pour que les résultats soient renvoyés rapidement lorsque l'application génère une requête.

Le mode Datastore crée automatiquement des index à propriété unique à utiliser avec des types de requêtes simples. Pour les requêtes complexes incluant plusieurs propriétés, vous devez configurer des index composites dans le fichier index.yaml de votre application.

Le serveur de développement App Engine met à jour votre fichier index.yaml avec les index composites nécessaires à l'exécution de vos tests. De même, l'émulateur en mode Datastore peut générer des index lorsque vous exécutez des tests.

Vous pouvez également ajouter manuellement les index au fichier index.yaml de votre application si vous n'exécutez pas de tests locaux ou si vos tests n'incluent pas de requêtes complexes.

Configurer les autorisations liées aux bases de données

Par défaut, votre application dispose de toutes les autorisations requises pour lire et écrire en mode Datastore et dans les bases de données Firestore de votre projet Google Cloud.

Pour gérer ces autorisations, chaque application App Engine utilise un compte de service par défaut qui offre un accès complet en lecture et en écriture au mode Datastore et aux bases de données Firestore se trouvant dans le même projet que l'application. Vous pouvez modifier les autorisations du compte de service par défaut, mais votre application risque de perdre l'accès si vous n'attribuez pas le rôle IAM avec les autorisations requises.

Pour découvrir comment autoriser d'autres utilisateurs, applications ou projets à accéder à une base de données, consultez la page Accéder à votre base de données.

Utiliser l'émulateur en mode Datastore pour les tests locaux

Le SDK Cloud inclut un émulateur local de l'environnement de production en mode Datastore. L'émulateur peut vous servir à développer et tester votre application en local. En outre, l'émulateur peut vous aider à générer des index pour votre instance de production en mode Datastore et à supprimer des index inutiles.

Si vous utilisez le serveur de développement local App Engine pour tester votre application, vous pouvez vous assurer que le serveur utilisera l'émulateur en mode Datastore en définissant l'option --support_datastore_emulator=true lors du démarrage du serveur.

Si vous utilisez l'émulateur en mode Datastore, dev_appserver affiche :

... Using Cloud Datastore Emulator.

Tarifs, quotas et limites

Le mode Datastore propose un quota gratuit avec des limites journalières. Les comptes payants proposent un stockage ainsi que des opérations de lecture et d'écriture illimités. Pour en savoir plus, consultez la page Quotas relatifs à Datastore.