Créer une base de données Firestore à l'aide d'une bibliothèque cliente de serveur
Dans ce guide de démarrage rapide, vous allez découvrir comment configurer Firestore, ajouter des données et les lire à l'aide de la bibliothèque cliente du serveur C#, Go, Java, Node.js, PHP, Python ou Ruby.
Avant de commencer
- Connectez-vous à votre compte Google Cloud. Si vous débutez sur Google Cloud, créez un compte pour évaluer les performances de nos produits en conditions réelles. Les nouveaux clients bénéficient également de 300 $ de crédits gratuits pour exécuter, tester et déployer des charges de travail.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Créer une base de données Firestore en mode natif
S'il s'agit d'un nouveau projet, vous devez créer une instance de base de données Firestore.
Dans l'écran Sélectionner un service de base de données, sélectionnez Firestore en mode natif.
Sélectionnez un emplacement pour votre Firestore.
Ce paramètre d'emplacement correspond à l'emplacement par défaut des ressources Google Cloud Platform (GCP) pour le projet. Cet emplacement sera utilisée pour les services GCP exploités dans le projet qui requièrent un paramètre d'emplacement, plus précisément le bucket Cloud Storage par défaut et l'application App Engine (qui est nécessaire si vous utilisez Cloud Scheduler).
Cliquez sur Créer une base de données.
Lorsque vous créez un projet Firestore, cela active également l'API dans le Cloud API Manager.
Configurer l'authentification
Pour exécuter la bibliothèque cliente, vous devez d'abord configurer l'authentification en créant un compte de service et en définissant une variable d'environnement.
Provide authentication credentials to your application code by setting the
environment variable GOOGLE_APPLICATION_CREDENTIALS
. This
variable applies only to your current shell session. If you want the variable
to apply to future shell sessions, set the variable in your shell startup file,
for example in the ~/.bashrc
or ~/.profile
file.
Linux ou macOS
export GOOGLE_APPLICATION_CREDENTIALS="KEY_PATH
"
Replace KEY_PATH
with the path of the JSON file that contains your credentials.
For example:
export GOOGLE_APPLICATION_CREDENTIALS="/home/user/Downloads/service-account-file.json"
Windows
For PowerShell:
$env:GOOGLE_APPLICATION_CREDENTIALS="KEY_PATH
"
Replace KEY_PATH
with the path of the JSON file that contains your credentials.
For example:
$env:GOOGLE_APPLICATION_CREDENTIALS="C:\Users\username\Downloads\service-account-file.json"
For command prompt:
set GOOGLE_APPLICATION_CREDENTIALS=KEY_PATH
Replace KEY_PATH
with the path of the JSON file that contains your credentials.
Ajouter la bibliothèque cliente du serveur à votre application
Ajoutez les dépendances et les bibliothèques clientes requises à votre application.
Java
Ajoutez la bibliothèque Java Firestore à votre application :
-
Avec Maven :
<dependencyManagement> <dependencies> <dependency> <groupId>com.google.cloud</groupId> <artifactId>libraries-bom</artifactId> <version>26.48.0</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement> <dependencies> <dependency> <groupId>com.google.cloud</groupId> <artifactId>google-cloud-firestore</artifactId> </dependency>
- Si vous utilisez Gradle ou effectuez la configuration sans BOM, consultez la Fichier README du client Firestore pour Java.
-
Avec un IDE :
Si vous utilisez VS Code, IntelliJ ou Eclipse, vous pouvez ajouter des bibliothèques clientes à votre projet à l'aide des plug-ins IDE suivants :
Les plug-ins offrent des fonctionnalités supplémentaires, telles que la gestion des clés pour les comptes de service. Reportez-vous à la documentation de chaque plug-in pour plus de détails.
Python
Ajoutez la bibliothèque Python Firestore à votre application :
pip install --upgrade google-cloud-firestore
Node.js
Ajoutez la bibliothèque Node.js Firestore à votre application :
npm install --save @google-cloud/firestore
Go
Installez la bibliothèque Go Firestore :
go get cloud.google.com/go/firestore
Ajoutez la bibliothèque Go Firestore à votre application :
import "cloud.google.com/go/firestore"
PHP
- Installez et activez l'extension gRPC pour PHP. Vous en aurez besoin pour utiliser la bibliothèque cliente.
-
Ajoutez la bibliothèque PHP Firestore à votre application :
composer require google/cloud-firestore
C#
-
Ajoutez la bibliothèque C# Firestore à votre application dans le fichier
.csproj
:<ItemGroup> <PackageReference Include="Google.Cloud.Firestore" Version="1.1.0-beta01" /> </ItemGroup>
- Ajoutez le code ci-dessous à votre fichier
Program.cs
:using Google.Cloud.Firestore;
Ruby
-
Ajoutez la bibliothèque Ruby Firestore à votre application dans le
Gemfile
:gem "google-cloud-firestore"
-
Installez les dépendances du
Gemfile
avec la commande :bundle install
Initialiser Firestore
Initialiser une instance de Firestore :
Java
import com.google.cloud.firestore.Firestore; import com.google.cloud.firestore.FirestoreOptions;
FirestoreOptions firestoreOptions = FirestoreOptions.getDefaultInstance().toBuilder() .setProjectId(projectId) .setCredentials(GoogleCredentials.getApplicationDefault()) .build(); Firestore db = firestoreOptions.getService();
Python
from google.cloud import firestore # The `project` parameter is optional and represents which project the client # will act on behalf of. If not supplied, the client falls back to the default # project inferred from the environment. db = firestore.Client(project="my-project-id")
Python
(asynchrone)
from google.cloud import firestore # The `project` parameter is optional and represents which project the client # will act on behalf of. If not supplied, the client falls back to the default # project inferred from the environment. db = firestore.AsyncClient(project="my-project-id")
Node.js
const Firestore = require('@google-cloud/firestore'); const db = new Firestore({ projectId: 'YOUR_PROJECT_ID', keyFilename: '/path/to/keyfile.json', });
Go
import ( "context" "flag" "fmt" "log" "google.golang.org/api/iterator" "cloud.google.com/go/firestore" ) func createClient(ctx context.Context) *firestore.Client { // Sets your Google Cloud Platform project ID. projectID := "YOUR_PROJECT_ID" client, err := firestore.NewClient(ctx, projectID) if err != nil { log.Fatalf("Failed to create client: %v", err) } // Close client when done with // defer client.Close() return client }
PHP
use Google\Cloud\Firestore\FirestoreClient; /** * Initialize Cloud Firestore with default project ID. */ function setup_client_create(string $projectId = null) { // Create the Cloud Firestore client if (empty($projectId)) { // The `projectId` parameter is optional and represents which project the // client will act on behalf of. If not supplied, the client falls back to // the default project inferred from the environment. $db = new FirestoreClient(); printf('Created Cloud Firestore client with default project ID.' . PHP_EOL); } else { $db = new FirestoreClient([ 'projectId' => $projectId, ]); printf('Created Cloud Firestore client with project ID: %s' . PHP_EOL, $projectId); } }
C#
Ruby
require "google/cloud/firestore" # The `project_id` parameter is optional and represents which project the # client will act on behalf of. If not supplied, the client falls back to the # default project inferred from the environment. firestore = Google::Cloud::Firestore.new project_id: project_id puts "Created Cloud Firestore client with given project ID."
Ajouter des données
Firestore stocke les données dans des documents, qui sont eux-mêmes stockés dans des collections. 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
Pour vous authentifier auprès de Firestore, configurez les identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Python
Pour vous authentifier auprès de Firestore, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Python
(Async)
Node.js
Pour vous authentifier auprès de Firestore, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Go
Pour vous authentifier auprès de Firestore, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
PHP
Pour vous authentifier auprès de Firestore, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
C#
Pour vous authentifier auprès de Firestore, configurez les identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Ruby
Pour vous authentifier auprès de Firestore, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
À 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
Pour vous authentifier auprès de Firestore, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Python
Pour vous authentifier auprès de Firestore, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Python
(Async)
Node.js
Pour vous authentifier auprès de Firestore, configurez les identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Go
Pour vous authentifier auprès de Firestore, configurez les identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
PHP
Pour vous authentifier auprès de Firestore, configurez les identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
C#
Pour vous authentifier auprès de Firestore, configurez les identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Ruby
Pour vous authentifier auprès de Firestore, configurez les identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Lire des données
Pour vérifier rapidement que vous avez bien ajouté des données à Firestore, utilisez la visionneuse de données de la console Firebase.
Vous pouvez également utiliser la méthode get
pour récupérer l'ensemble de la collection.
Java
Pour vous authentifier auprès de Firestore, configurez les identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Python
Pour vous authentifier auprès de Firestore, configurez les identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Python
(Async)
Node.js
Pour vous authentifier auprès de Firestore, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Go
Pour vous authentifier auprès de Firestore, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
PHP
Pour vous authentifier auprès de Firestore, configurez les identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
C#
Pour vous authentifier auprès de Firestore, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Ruby
Pour vous authentifier auprès de Firestore, configurez les identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Étapes suivantes
Approfondissez vos connaissances sur les sujets suivants :
- Modèle de données : apprenez comment les données sont structurées dans 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 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.