Créer et gérer des bases de données

Cette page explique comment créer, mettre à jour et supprimer des bases de données Firestore compatibles avec MongoDB. Vous pouvez créer plusieurs bases de données Firestore par projet. Vous pouvez utiliser plusieurs bases de données pour configurer des environnements de production et de test, pour isoler les données client et pour régionaliser les données.

Utilisation de la version gratuite

Firestore propose une version gratuite qui vous permet de démarrer sans frais.

Le niveau gratuit ne s'applique qu'à une seule base de données Firestore par projet. La première base de données créée dans un projet sans base de données de niveau gratuit bénéficiera du niveau gratuit. Si la base de données à laquelle le niveau gratuit est appliqué est supprimée, le niveau gratuit sera appliqué à la prochaine base de données créée.

Avant de commencer

Avant de créer une base de données, vous devez effectuer les opérations suivantes:

  1. Make sure that billing is enabled for your Google Cloud project.

  2. Attribuez les rôles IAM appropriés, comme décrit dans la section suivante.

Rôles requis

Pour créer et gérer des bases de données, vous avez besoin du rôle Identity and Access Management Owner ou Datastore Owner. Ces rôles accordent les autorisations requises.

Autorisations requises

Pour gérer des bases de données, vous devez disposer des autorisations suivantes:

  • Créez une base de données: datastore.databases.create
  • Lire la configuration de la base de données: datastore.databases.getMetadata
  • Configurer une base de données: datastore.databases.update
  • Supprimer une base de données: datastore.databases.delete

Créer une base de données

Pour créer une base de données Firestore compatible avec MongoDB, utilisez l'une des méthodes suivantes:

ConsoleGoogle Cloud
  1. Dans la Google Cloud console, accédez à la page Bases de données.

    Accéder à la page "Bases de données"

  2. Cliquez sur Créer une base de données Firestore.
  3. Saisissez un ID de base de données.
  4. Sélectionnez l'édition Enterprise.
  5. Sélectionnez un emplacement pour votre base de données.
  6. (Facultatif) Si vous devez personnaliser le chiffrement, cliquez sur Afficher les options de chiffrement, puis configurez les options de chiffrement.
  7. Cliquez sur Créer une base de données.
CLI gcloud

Utilisez la commande gcloud firestore databases create et définissez --edition=enterprise.

gcloud firestore databases create \
--database=DATABASE_ID \
--location=LOCATION \
--edition=enterprise

Remplacez les éléments suivants :

Pour activer la protection contre la suppression, ajoutez l'indicateur --delete-protection. Vous ne pouvez pas supprimer une base de données dont la protection contre la suppression est activée tant que vous n'avez pas désactivé ce paramètre. Ce paramètre est désactivé par défaut.

gcloud firestore databases create \
--database=DATABASE_ID \
--location=LOCATION \
--edition=enterprise \
--delete-protection
Terraform

Utilisez la ressource google_firestore_database et définissez database_edition sur ENTERPRISE.

resource "google_firestore_database" "database" {
  name             = "DATABASE_ID"
  location_id      = "LOCATION"
  type             = "FIRESTORE_NATIVE"
  database_edition = "ENTERPRISE"

  // Optional
  delete_protection_state = "DELETE_PROTECTION_STATE"
}

Remplacez les éléments suivants :

Pour activer la protection contre la suppression, définissez delete_protection_state sur DELETE_PROTECTION_ENABLED. Vous ne pouvez pas supprimer une base de données dont la protection contre la suppression est activée tant que vous n'avez pas désactivé ce paramètre. Ce paramètre est désactivé par défaut.

ID de la base de données

Les ID de base de données valides incluent les ID conformes aux éléments suivants:

  • N'inclut que des lettres, des chiffres et des traits d'union (-).
  • Les lettres doivent être en minuscules.
  • Il doit commencer par une lettre.
  • Le dernier caractère doit être une lettre ou un chiffre.
  • composée d'au moins quatre caractères ;
  • 63 caractères au maximum.
  • Ne doit pas être un UUID ni ressembler à un UUID. Par exemple, n'utilisez pas un ID tel que f47ac10b-58cc-0372-8567-0e02b2c3d479.

Si vous supprimez une base de données, vous ne pouvez pas réutiliser immédiatement son ID. Vous devez attendre cinq minutes.

Supprimer la protection

Utilisez la protection contre la suppression pour éviter la suppression accidentelle d'une base de données. La protection contre la suppression fonctionne comme suit:

  • Vous ne pouvez pas supprimer une base de données dont la protection contre la suppression est activée tant que vous ne l'avez pas désactivée.
  • La protection contre la suppression est désactivée par défaut.
  • Vous pouvez activer la protection contre la suppression lorsque vous créez la base de données ou mettre à jour la configuration d'une base de données pour activer la protection contre la suppression.

Répertorier des bases de données

Pour lister vos bases de données, utilisez l'une des méthodes suivantes:

Console

Dans la Google Cloud console, accédez à la page Bases de données.

Accéder à la page "Bases de données"

CLI gcloud

Utilisez la commande gcloud firestore databases list pour répertorier toutes les bases de données de votre projet.

gcloud firestore databases list

Afficher les détails de la base de données

Pour afficher les détails d'une seule base de données, utilisez l'une des méthodes suivantes:

Console
  1. Dans la Google Cloud console, accédez à la page Bases de données.

    Accéder à la page "Bases de données"

  2. Sélectionnez une base de données dans la liste.
CLI gcloud

Exécutez la commande gcloud firestore databases describe :

gcloud firestore databases describe --database=DATABASE_ID

Remplacez DATABASE_ID par un ID de base de données.

Mettre à jour la configuration de la base de données

Pour mettre à jour les paramètres de configuration d'une base de données, utilisez la commande gcloud firestore databases update.

Utilisez cette commande pour modifier, activer ou désactiver la protection contre la suppression.

Modifier le paramètre de protection contre la suppression

Pour activer la protection contre la suppression sur une base de données, exécutez la commande gcloud firestore databases update avec l'option --delete-protection. Exemple :

CLI gcloud
gcloud firestore databases update --database=DATABASE_ID --delete-protection

Remplacez DATABASE_ID par un ID de base de données.

Pour désactiver la protection contre la suppression sur une base de données, exécutez la commande gcloud firestore databases update avec l'option --no-delete-protection. Exemple :

CLI gcloud
gcloud firestore databases update --database=DATABASE_ID --no-delete-protection

Remplacez DATABASE_ID par un ID de base de données.

Supprimer une base de données

Pour supprimer une base de données, utilisez la console ou l'outil de ligne de commande. La suppression d'une base de données n'entraîne pas de frais pour les opérations de suppression.

Si la protection contre la suppression est activée pour la base de données, vous devez d'abord la désactiver.

ConsoleGoogle Cloud
  1. Dans la Google Cloud console, accédez à la page Bases de données.

    Accéder à la page "Bases de données"

  2. Cliquez sur  Afficher plus dans la colonne Actions de la base de données que vous souhaitez supprimer. Cliquez sur Supprimer. Une boîte de dialogue s'affiche.
  3. Dans la boîte de dialogue Supprimer la base de données ?, confirmez la suppression en saisissant l'ID de la base de données dans le champ de texte. Cliquez sur Supprimer. La console vous indique si l'opération a réussi ou échoué.

    Si l'opération échoue, consultez les détails de la base de données et vérifiez que la protection contre la suppression est désactivée. Pour désactiver la protection contre la suppression, consultez la section Mettre à jour le paramètre de protection contre la suppression.

CLI gcloud

Utilisez la commande gcloud firestore databases delete.

gcloud firestore databases delete --database=DATABASE_ID

Remplacez DATABASE_ID par l'ID de la base de données à supprimer.

Configurer les autorisations d'accès par base de données

Vous pouvez utiliser des conditions Identity and Access Management pour configurer les autorisations d'accès au niveau de chaque base de données. Les exemples suivants utilisent Google Cloud CLI pour attribuer un accès conditionnel à une ou plusieurs bases de données. Vous pouvez également définir des conditions IAM dans la Google Cloud console.

Afficher les stratégies IAM existantes

gcloud projects get-iam-policy PROJECT_ID

Définissez PROJECT_ID sur l'ID de votre projet.

Accorder l'accès à une base de données

gcloud projects add-iam-policy-binding PROJECT_ID \
--member='user:EMAIL' \
--role='roles/datastore.user' \
--condition='expression=resource.name=="projects/PROJECT_ID/databases/DATABASE_ID",title=TITLE,description=DESCRIPTION'

Renseignez les champs suivants :

  • PROJECT_ID : ID de votre projet.
  • EMAIL: adresse e-mail représentant un compte spécifique. Exemple :alice@example.com
  • DATABASE_ID: ID de base de données.
  • TITLE: titre facultatif de l'expression.
  • DESCRIPTION: description facultative de l'expression.

Accorder l'accès à toutes les bases de données sauf une

gcloud projects add-iam-policy-binding PROJECT_ID \
--member='user:EMAIL' \
--role='roles/datastore.user' \
--condition='expression=resource.name!="projects/PROJECT_ID/databases/DATABASE_ID",title=TITLE,description=DESCRIPTION'

Renseignez les champs suivants :

  • PROJECT_ID : ID de votre projet.
  • EMAIL: adresse e-mail représentant un compte spécifique. Exemple :alice@example.com
  • DATABASE_ID: ID de base de données.
  • TITLE: titre facultatif de l'expression.
  • DESCRIPTION: description facultative de l'expression.

Supprimer des stratégies pour un membre et un rôle donnés

gcloud projects remove-iam-policy-binding PROJECT_ID \
--member='user:EMAIL' \
--role='roles/datastore.user' --all

Renseignez les champs suivants :

  • PROJECT_ID : ID de votre projet.
  • EMAIL: adresse e-mail représentant un compte spécifique. Exemple :alice@example.com

Limites

Vous pouvez créer jusqu'à 100 bases de données par projet. Vous pouvez contacter l'assistance pour demander une augmentation de cette limite.

Étape suivante