Ce guide de démarrage rapide vous explique comment configurer l'édition Firestore Enterprise, ajouter des données, puis afficher les données que vous venez d'ajouter dans la console Firebase à l'aide des bibliothèques clientes de serveur pour C#, Go, Java, Node.js, PHP, Python et Ruby.
Utilisez ces bibliothèques clientes pour configurer des environnements de serveur privilégiés avec un accès complet à votre base de données.
Créer une base de données Cloud Firestore
Si vous ne l'avez 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 un emplacement pour la base de données.
Si vous ne pouvez pas sélectionner d'emplacement, cela signifie que l'emplacement des ressources Google Cloud par défaut de votre projet a déjà été défini. Certaines ressources de votre projet (comme l'instance Cloud Firestore par défaut) partagent une dépendance d'emplacement commune. Leur emplacement peut être défini lors de la création du projet ou lors de la configuration d'un autre service qui partage cette dépendance d'emplacement.
Sélectionnez un mode de démarrage pour votre Cloud Firestore Security Rules :
- Mode test
Idéal pour faire vos premiers pas avec les bibliothèques clientes Web et mobiles, mais permet à quiconque de lire et d'écraser vos données. Après avoir effectué les tests, veillez à consulter la section Sécuriser vos données.
Pour commencer à utiliser le SDK Web, Apple 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'applications authentifiés (C#, Go, Java, Node.js, PHP, Python ou Ruby) peuvent toujours accéder à votre base de données.
Pour commencer à utiliser la bibliothèque cliente du serveur en C#, Go, Java, Node.js, PHP, Python ou Ruby, sélectionnez le mode Production.
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.
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.
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.
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.
Accéder
- Ajoutez le SDK Admin Firebase à votre application Go :
go get firebase.google.com/go
- Suivez les instructions ci-dessous pour initialiser Cloud Firestore avec les identifiants appropriés dans votre environnement.
PHP
-
Les bibliothèques clientes du serveur Cloud Firestore (Java, Node.js, Python, Go, PHP, C# et Ruby) utilisent les identifiants par défaut de l'application Google pour l'authentification.
-
Pour vous authentifier à partir de votre environnement de développement, définissez la variable d'environnement
GOOGLE_APPLICATION_CREDENTIALSde sorte qu'elle pointe vers un fichier de clé de compte de service JSON. Vous pouvez créer un fichier de clé sur la page Identifiants de la console d'API.export GOOGLE_APPLICATION_CREDENTIALS="path/to/your/keyfile.json" - Dans votre environnement de production, vous n'avez pas besoin de vous authentifier si vous exécutez votre application sur App Engine ou Compute Engine, en utilisant le même projet que celui que vous utilisez pour Cloud Firestore. Sinon, configurez un compte de service.
-
Pour vous authentifier à partir de votre environnement de développement, définissez la variable d'environnement
- Installez et activez l'extension gRPC pour PHP. Vous en aurez besoin pour utiliser la bibliothèque cliente.
-
Ajoutez la bibliothèque PHP Cloud Firestore à votre application :
composer require google/cloud-firestore
Ruby
-
Les bibliothèques clientes du serveur Cloud Firestore (Java, Node.js, Python, Go, PHP, C# et Ruby) utilisent les identifiants par défaut de l'application Google pour l'authentification.
-
Pour vous authentifier à partir de votre environnement de développement, définissez la variable d'environnement
GOOGLE_APPLICATION_CREDENTIALSde sorte qu'elle pointe vers un fichier de clé de compte de service JSON. Vous pouvez créer un fichier de clé sur la page Identifiants de la console d'API.export GOOGLE_APPLICATION_CREDENTIALS="path/to/your/keyfile.json"
- Dans votre environnement de production, vous n'avez pas besoin de vous authentifier si vous exécutez votre application sur App Engine ou Compute Engine, en utilisant le même projet que celui que vous utilisez pour Cloud Firestore. Sinon, configurez un compte de service.
-
Pour vous authentifier à partir de votre environnement de développement, définissez la variable d'environnement
-
Ajoutez la bibliothèque Ruby Cloud Firestore à votre application dans le
Gemfile:gem "google-cloud-firestore"
-
Installez les dépendances du
Gemfileavec la commande :bundle install
(Facultatif) Prototyper et tester avec Firebase Local Emulator Suite
Pour les développeurs mobiles, avant de parler de la façon dont votre application écrit et lit des données dans Cloud Firestore, présentons un ensemble d'outils que vous pouvez utiliser pour prototyper et tester les fonctionnalités de Cloud Firestore : Firebase Local Emulator Suite. Si vous testez différents modèles de données, optimisez vos règles de sécurité ou cherchez le moyen le plus rentable d'interagir avec le backend, il peut être judicieux de travailler localement sans déployer de services actifs.
Un émulateur Cloud Firestore fait partie de la Local Emulator Suite, qui permet à votre application d'interagir avec le contenu et la configuration de votre base de données émulée, ainsi qu'avec les ressources de votre projet émulé (fonctions, autres bases de données et règles de sécurité).
L'utilisation de l'émulateur Cloud Firestore ne nécessite que quelques étapes :
- Ajouter une ligne de code à la configuration de test de votre application pour vous connecter à l'émulateur.
- Depuis la racine du répertoire de votre projet local, exécutez
firebase emulators:start. - Effectuer des appels à partir du code prototype de votre application à l'aide d'un SDK de plate-forme Cloud Firestore, comme d'habitude.
Un tutoriel détaillé impliquant Cloud Firestore et Cloud Functions est disponible. Vous devriez également consulter la présentation de Local Emulator Suite.
Initialiser Cloud Firestore
Initialisez une instance de Cloud Firestore :
Java
Le SDK Cloud Firestore est initialisé de différentes manières en fonction de votre environnement. Voici 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.
Accédez à IAM et administration > Comptes de service dans la console Google Cloud. Générez une nouvelle 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();
Python
Le SDK Cloud Firestore est initialisé de différentes manières en fonction de votre environnement. Voici 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 de l'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.
Accédez à IAM et administration > Comptes de service dans la console Google Cloud. Générez une nouvelle 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()
Python
Le SDK Cloud Firestore est initialisé de différentes manières en fonction de votre environnement. Voici 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_async # Application Default credentials are automatically created. app = firebase_admin.initialize_app() db = firestore_async.client()
Vous pouvez également utiliser un identifiant par défaut de l'application existant pour initialiser le SDK.
import firebase_admin from firebase_admin import credentials from firebase_admin import firestore_async # Use the application default credentials. cred = credentials.ApplicationDefault() firebase_admin.initialize_app(cred) db = firestore_async.client()
Pour utiliser le SDK Admin Firebase sur votre propre serveur, utilisez un compte de service.
Accédez à IAM et administration > Comptes de service dans la console Google Cloud. Générez une nouvelle 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_async # Use a service account. cred = credentials.Certificate('path/to/serviceAccount.json') app = firebase_admin.initialize_app(cred) db = firestore_async.client()
Node.js
Le SDK Cloud Firestore est initialisé de différentes manières en fonction de votre environnement. Voici 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 tout autre environnement Node.js), utilisez un compte de service. Accédez à IAM et administration > Comptes de service dans la console Google Cloud. Générez une nouvelle 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();
Accéder
Le SDK Cloud Firestore est initialisé de différentes manières en fonction de votre environnement. Voici les méthodes les plus courantes. Pour obtenir une documentation de référence complète, consultez Initialiser le SDK Admin.import ( "log" firebase "firebase.google.com/go" "google.golang.org/api/option" ) // Use the application default credentials ctx := context.Background() conf := &firebase.Config{ProjectID: projectID} app, err := firebase.NewApp(ctx, conf) if err != nil { log.Fatalln(err) } client, err := app.Firestore(ctx) if err != nil { log.Fatalln(err) } defer client.Close()
Pour utiliser le SDK Admin Firebase sur votre propre serveur, utilisez un compte de service.
Accédez à IAM et administration > Comptes de service dans la console Google Cloud. Générez une nouvelle clé privée et enregistrez le fichier JSON. Utilisez ensuite le fichier pour initialiser le SDK :
import ( "log" firebase "firebase.google.com/go" "google.golang.org/api/option" ) // Use a service account ctx := context.Background() sa := option.WithCredentialsFile("path/to/serviceAccount.json") app, err := firebase.NewApp(ctx, nil, sa) if err != nil { log.Fatalln(err) } client, err := app.Firestore(ctx) if err != nil { log.Fatalln(err) } defer client.Close()
PHP
PHP
Pour en savoir plus sur l'installation et la création d'un client Cloud Firestore, consultez Bibliothèques clientes Cloud Firestore.
C#
C#
Pour en savoir plus sur l'installation et la création d'un client Cloud Firestore, consultez Bibliothèques clientes Cloud Firestore.
Ruby
Ajouter des données
Cloud Firestore stocke les données dans des documents, qui sont stockés dans des collections. Cloud Firestore crée implicitement des collections et des documents la première fois que vous ajoutez des données au document. Vous n'avez pas besoin de créer explicitement des collections ou des documents.
Créez une collection et un document à l'aide de l'exemple de code ci-dessous.
Java
Python
Python
Node.js
Go
PHP
PHP
Pour en savoir plus sur l'installation et la création d'un client Cloud Firestore, consultez Bibliothèques clientes Cloud Firestore.
C#
Ruby
À présent, ajoutez un autre document à la collection users. Notez que ce document contient une paire clé-valeur (deuxième prénom) qui n'est pas présente dans le premier document. Les documents d'une collection peuvent contenir différents ensembles d'informations.
Java
Python
Python
Node.js
Go
PHP
PHP
Pour en savoir plus sur l'installation et la création d'un client Cloud Firestore, consultez Bibliothèques clientes Cloud Firestore.
C#
Ruby
Lire des données
Utilisez l'outil de visualisation des données de 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'intégralité de la collection.
Java
Python
users_ref = db.collection("users") docs = users_ref.stream() for doc in docs: print(f"{doc.id} => {doc.to_dict()}")
Python
Node.js
Go
PHP
PHP
Pour en savoir plus sur l'installation et la création d'un client Cloud Firestore, consultez Bibliothèques clientes Cloud Firestore.
C#
Ruby
Étapes suivantes
Approfondissez vos connaissances sur les sujets suivants :
- Modèle de données : découvrez comment les données sont structurées dans Cloud Firestore, y compris les données hiérarchiques et les sous-collections.
- Ajouter des données : découvrez comment créer et mettre à jour des données dans Cloud Firestore.
- Obtenir des données : en savoir plus sur la récupération des données.
- Lancer des requêtes simples et des requêtes composées : en savoir plus sur l'exécution des requêtes simples et composées.
- Classer et limiter les requêtes : découvrez comment classer et limiter les données renvoyées par vos requêtes.