Ce guide de démarrage rapide vous explique comment configurer Cloud Firestore, ajouter des données, puis utiliser des opérations Core ou Pipeline pour interroger les données que vous venez d'ajouter dans la console Firebase à l'aide des bibliothèques clientes du serveur pour Java, Node.js et Python.
Utilisez ces bibliothèques clientes pour configurer des environnements serveur privilégiés avec un accès complet à votre base de données.
Créer une base de données Cloud Firestore
Si ce n'est pas déjà fait, créez un projet Firebase : dans la console Firebase, cliquez sur Ajouter un projet, puis suivez les instructions à l'écran pour créer un projet Firebase ou ajouter des services Firebase à un projet Google Cloud existant.
Dans le panneau de gauche, accédez à Bases de données et stockage > Firestore.
Cliquez sur Créer une base de données.
Sélectionnez Enterprise (Entreprise) pour le mode de base de données.
Sélectionnez Firestore en mode natif pour le mode de fonctionnement, qui est compatible avec les opérations de base et de pipeline.
Sélectionnez un emplacement pour la base de données.
Sélectionnez un mode de départ pour votre Cloud Firestore Security Rules :
- Mode test
Idéal pour commencer à utiliser les bibliothèques clientes mobiles et Web, mais permet à quiconque de lire et d'écraser vos données. Après les tests, assurez-vous de consulter la section Sécuriser vos données.
Pour commencer à utiliser le SDK Web, Apple Platforms ou Android, sélectionnez le mode test.
- Mode production
Refuse tous les accès en lecture et en écriture des clients mobiles et Web. Vos serveurs d'application authentifiés (Node.js, Python, Java) peuvent toujours accéder à votre base de données.
Votre ensemble initial de Cloud Firestore Security Rules s'appliquera à votre base de données Cloud Firestore par défaut. Si vous créez plusieurs bases de données pour votre projet, vous pouvez déployer Cloud Firestore Security Rules pour chacune d'elles.
Cliquez sur Créer.
Lorsque vous activez Cloud Firestore, l'API est également activée dans le gestionnaire d'API Cloud.
Configurer l'environnement de développement
Ajoutez les dépendances et les bibliothèques clientes requises pour votre application.
Node.js
-
Ajoutez le SDK Admin Firebase à votre application :
npm install firebase-admin --save
- Suivez les instructions ci-dessous pour initialiser Cloud Firestore avec les identifiants appropriés dans votre environnement.
Python
- Ajoutez le SDK Admin Firebase à votre application Python :
pip install --upgrade firebase-admin
- Suivez les instructions ci-dessous pour initialiser Cloud Firestore avec les identifiants appropriés dans votre environnement.
Java
- Ajoutez le SDK Admin Firebase à votre application :
-
Avec Gradle :
implementation 'com.google.firebase:firebase-admin:9.11.0'
-
Avec Maven :
<dependency> <groupId>com.google.firebase</groupId> <artifactId>firebase-admin</artifactId> <version>9.11.0</version> </dependency>
-
Avec Gradle :
- Suivez les instructions ci-dessous pour initialiser Cloud Firestore avec les identifiants appropriés dans votre environnement.
Initialiser Cloud Firestore
Initialisez une instance de Cloud Firestore :
Node.js
Le SDK Cloud Firestore est initialisé de différentes manières selon votre environnement. Vous trouverez ci-dessous les méthodes les plus courantes. Pour obtenir une documentation de référence complète, consultez Initialiser le SDK Admin.-
Initialiser sur Cloud Functions
const { initializeApp, applicationDefault, cert } = require('firebase-admin/app'); const { getFirestore, Timestamp, FieldValue, Filter } = require('firebase-admin/firestore');
initializeApp(); const db = getFirestore();
-
Initialiser sur Google Cloud
const { initializeApp, applicationDefault, cert } = require('firebase-admin/app'); const { getFirestore, Timestamp, FieldValue, Filter } = require('firebase-admin/firestore');
initializeApp({ credential: applicationDefault() }); const db = getFirestore();
-
Initialiser sur votre propre serveur
Pour utiliser le SDK Admin Firebase sur votre propre serveur (ou dans tout autre environnement Node.js), utilisez un compte de service. Dans la console Google Cloud, accédez à IAM et administration > Comptes de service. Générez une clé privée et enregistrez le fichier JSON. Utilisez ensuite le fichier pour initialiser le SDK :
const { initializeApp, applicationDefault, cert } = require('firebase-admin/app'); const { getFirestore, Timestamp, FieldValue, Filter } = require('firebase-admin/firestore');
const serviceAccount = require('./path/to/serviceAccountKey.json'); initializeApp({ credential: cert(serviceAccount) }); const db = getFirestore();
Python
Le SDK Cloud Firestore est initialisé de différentes manières selon votre environnement. Vous trouverez ci-dessous les méthodes les plus courantes. Pour obtenir une documentation de référence complète, consultez Initialiser le SDK Admin.import firebase_admin from firebase_admin import firestore # Application Default credentials are automatically created. app = firebase_admin.initialize_app() db = firestore.client()
Vous pouvez également utiliser un identifiant par défaut d'application existant pour initialiser le SDK.
import firebase_admin from firebase_admin import credentials from firebase_admin import firestore # Use the application default credentials. cred = credentials.ApplicationDefault() firebase_admin.initialize_app(cred) db = firestore.client()
Pour utiliser le SDK Admin Firebase sur votre propre serveur, utilisez un compte de service.
Dans la console Google Cloud, accédez à IAM et administration > Comptes de service. Générez une clé privée et enregistrez le fichier JSON. Utilisez ensuite le fichier pour initialiser le SDK :
import firebase_admin from firebase_admin import credentials from firebase_admin import firestore # Use a service account. cred = credentials.Certificate('path/to/serviceAccount.json') app = firebase_admin.initialize_app(cred) db = firestore.client()
Java
Le SDK Cloud Firestore est initialisé de différentes manières selon votre environnement. Vous trouverez ci-dessous les méthodes les plus courantes. Pour obtenir une documentation de référence complète, consultez Initialiser le SDK Admin.import com.google.auth.oauth2.GoogleCredentials; import com.google.cloud.firestore.Firestore; import com.google.firebase.FirebaseApp; import com.google.firebase.FirebaseOptions; // Use the application default credentials GoogleCredentials credentials = GoogleCredentials.getApplicationDefault(); FirebaseOptions options = new FirebaseOptions.Builder() .setCredentials(credentials) .setProjectId(projectId) .build(); FirebaseApp.initializeApp(options); Firestore db = FirestoreClient.getFirestore();
Pour utiliser le SDK Admin Firebase sur votre propre serveur, utilisez un compte de service.
Dans la console Google Cloud, accédez à IAM et administration > Comptes de service. Générez une clé privée et enregistrez le fichier JSON. Utilisez ensuite le fichier pour initialiser le SDK :
import com.google.auth.oauth2.GoogleCredentials; import com.google.cloud.firestore.Firestore; import com.google.firebase.FirebaseApp; import com.google.firebase.FirebaseOptions; // Use a service account InputStream serviceAccount = new FileInputStream("path/to/serviceAccount.json"); GoogleCredentials credentials = GoogleCredentials.fromStream(serviceAccount); FirebaseOptions options = new FirebaseOptions.Builder() .setCredentials(credentials) .build(); FirebaseApp.initializeApp(options); Firestore db = FirestoreClient.getFirestore();
Ajouter des données à l'aide des opérations de base
Pour explorer les opérations Core et Pipeline permettant d'interroger des données, ajoutez des données à votre base de données à l'aide des opérations Core.
Cloud Firestore stocke les données dans des documents, qui sont stockés dans des collections. Cloud Firestore crée des collections et des documents de manière implicite la première fois que vous ajoutez des données au document. Vous n'avez pas besoin de créer explicitement des collections ni des documents.
Créez une collection et un document à l'aide de l'exemple de code ci-dessous.
Node.js
Java
Python
Lire des données à l'aide d'opérations de base
Utilisez le visualiseur de données dans la console Firebase pour vérifier rapidement que vous avez ajouté des données à Cloud Firestore.
Vous pouvez également utiliser la méthode "get" pour récupérer l'ensemble de la collection.
Node.js
Python
users_ref = db.collection("users") docs = users_ref.stream() for doc in docs: print(f"{doc.id} => {doc.to_dict()}")
Java
Lire des données à l'aide d'opérations de pipeline
Vous pouvez désormais comparer l'expérience de requête de pipeline à celle de requête principale.
Node.js
const readDataPipeline = db.pipeline() .collection("users"); // Execute the pipeline and handle the result try { const querySnapshot = await readDataPipeline.execute(); querySnapshot.results.forEach((result) => { console.log(`${result.id} => ${result.data()}`); }); } catch (error) { console.error("Error getting documents: ", error); }
Python
pipeline = client.pipeline().collection("users") for result in pipeline.execute(): print(f"{result.id} => {result.data()}")
Java
Pipeline pipeline = firestore.pipeline().collection("users"); ApiFuture<Pipeline.Snapshot> future = pipeline.execute(); for (com.google.cloud.firestore.PipelineResult result : future.get().getResults()) { System.out.println(result.getId() + " => " + result.getData()); } // or, asynchronously pipeline.execute( new ApiStreamObserver<com.google.cloud.firestore.PipelineResult>() { @Override public void onNext(com.google.cloud.firestore.PipelineResult result) { System.out.println(result.getId() + " => " + result.getData()); } @Override public void onError(Throwable t) { System.err.println(t); } @Override public void onCompleted() { System.out.println("done"); } });
Étapes suivantes
Approfondissez vos connaissances sur les opérations Core et Pipeline en consultant les sujets suivants :
- Assurez-vous de bien comprendre les différences entre les opérations principales et celles de pipeline.
- En savoir plus sur l'exécution de requêtes avec les opérations de base
- En savoir plus sur l'interrogation avec les opérations de pipeline