Ce guide de démarrage rapide vous explique comment configurer l'édition Enterprise de Cloud Firestore, ajouter des données, puis afficher les données que vous venez d'ajouter dans la console Firebase à l'aide des bibliothèques clientes du serveur pour C#, Go, Java, Node.js, PHP, Python et Ruby.
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 vous ne l'avez pas encore 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.
Ouvrez votre projet dans la console Firebase. Dans le panneau de gauche, développez Créer, puis sélectionnez Base de données Firestore.
Cliquez sur Créer une base de données.
Sélectionnez un emplacement pour la base de données.
Si vous ne parvenez pas à sélectionner un emplacement, c'est 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 de localisation 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 de localisation.
Sélectionnez un mode de départ pour votre Cloud Firestore Security Rules :
- Mode test
Convient pour se familiariser avec les bibliothèques clientes mobiles et Web, mais permet à tout le monde de lire et d'écraser les données. Lorsque vous aurez terminé les tests, passez en revue la section Sécuriser les 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 (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 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, cela active également l'API dans Cloud API Manager.
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.7.1'
-
Avec Maven :
<dependency> <groupId>com.google.firebase</groupId> <artifactId>firebase-admin</artifactId> <version>9.7.1</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 de 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 depuis votre environnement de développement, définissez la variable d'environnement
GOOGLE_APPLICATION_CREDENTIALSde façon à ce qu'elle pointe vers un fichier de clé de compte de service JSON. Vous pouvez créer un fichier de clés sur la page Identifiants de la console 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 utilisé pour Cloud Firestore. Sinon, configurez un compte de service.
-
Pour vous authentifier depuis 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 de 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 depuis votre environnement de développement, définissez la variable d'environnement
GOOGLE_APPLICATION_CREDENTIALSde façon à ce qu'elle pointe vers un fichier de clé de compte de service JSON. Vous pouvez créer un fichier de clés sur la page Identifiants de la console 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 utilisé pour Cloud Firestore. Sinon, configurez un compte de service.
-
Pour vous authentifier depuis 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
Avant de parler de la façon dont votre application écrit et lit des données dans Cloud Firestore, nous allons présenter aux développeurs mobiles un ensemble d'outils qu'ils peuvent 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 économique d'interagir avec le backend, il peut être judicieux de pouvoir travailler en local sans déployer de services en direct.
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'éventuellement 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 :
- Ajoutez une ligne de code à la configuration de test de votre application pour vous connecter à l'émulateur.
- À partir de 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é sur Cloud Firestore et Cloud Functions est disponible. Nous vous conseillons également de consulter l'introduction à Local Emulator Suite.
Initialiser Cloud Firestore
Initialisez une instance de Cloud Firestore :
Java
L'initialisation du SDK Cloud Firestore varie en fonction de votre environnement. Vous trouverez ci-dessous les méthodes les plus courantes. Pour obtenir une 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();
Python
L'initialisation du SDK Cloud Firestore varie en fonction de votre environnement. Vous trouverez ci-dessous les méthodes les plus courantes. Pour obtenir une 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()
Python
L'initialisation du SDK Cloud Firestore varie en fonction de votre environnement. Vous trouverez ci-dessous les méthodes les plus courantes. Pour obtenir une 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 d'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.
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_async # Use a service account. cred = credentials.Certificate('path/to/serviceAccount.json') app = firebase_admin.initialize_app(cred) db = firestore_async.client()
Node.js
L'initialisation du SDK Cloud Firestore varie en fonction de votre environnement. Vous trouverez ci-dessous les méthodes les plus courantes. Pour obtenir une 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 Firebase Admin 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();
Accéder
L'initialisation du SDK Cloud Firestore varie en fonction de votre environnement. Vous trouverez ci-dessous les méthodes les plus courantes. Pour obtenir une 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.
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 ( "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 eux-mêmes stockés dans des collections. Cloud Firestore crée implicitement les collections et les documents nécessaires la première fois qu'une donnée est ajoutée à un document. Vous n'avez pas besoin de créer explicitement les collections ni les 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 la visionneuse de données de la console Firebase pour vérifier rapidement que vous avez bien ajouté des données à Cloud Firestore.
Vous pouvez également utiliser la méthode "get" pour récupérer l'ensemble 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 : apprenez 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 : en savoir plus sur la création et la mise à jour de 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.
- Tris et limites dans les requêtes : découvrez comment trier et limiter les données renvoyées par les requêtes.