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. Il s'agit de la dernière version de Datastore, qui introduit plusieurs améliorations.
Étant donné que Cloud Firestore en mode Datastore est optimisé pour les cas d'utilisation en tant que serveur et pour App Engine, nous vous recommandons d'utiliser ce mode pour les bases de données qui sont principalement utilisées par les applications App Engine. Firestore en mode natif est particulièrement utile pour les cas d'utilisation de notifications mobiles et en temps réel. 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 :
Si vous ne l'avez pas encore fait, créez une base de données et choisissez Firestore en mode Datastore.
Vous pouvez utiliser des bases de données Datastore existantes avec des applications App Engine. Celles-ci seront automatiquement mises à niveau vers Firestore en mode Datastore.
-
pour créer, récupérer et gérer des entités dans votre base de données en mode Datastore.
Si vous prévoyez de mettre à niveau votre application Python 2 vers Python 3, plusieurs options s'offrent à vous :
Si votre application Python 2 utilise App Engine NDB pour interagir avec Datastore, nous vous recommandons de migrer vers Cloud NDB plutôt que d'utiliser la bibliothèque cliente en mode Datastore, car la première option offre une expérience utilisateur beaucoup plus similaire.
Vous pouvez également choisir de transférer votre application Python 2 utilisant App Engine NDB vers Python 3, puis migrer vers Cloud NDB. Pour savoir comment accéder à App Engine NDB dans Python 3, consultez la page Accéder aux services groupés App Engine pour Python 3.
Pour obtenir des ressources supplémentaires et un exemple de migration d'une application Python 2 webapp
utilisant App Engine NDB vers une application Flask Python 3 équivalente avec App Engine NDB activé, consultez la page Services groupés pour Python 3.
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 de 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 dans les bases de données Firestore et en mode Datastore 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 disposant des 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.
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.