Datenbanken verwalten

Auf dieser Seite wird beschrieben, wie Cloud Firestore erstellt, aktualisiert und gelöscht wird. Datenbanken. Sie können mehrere Cloud Firestore-Datenbanken pro Projekt arbeiten. Sie können mehrere Datenbanken verwenden, um Produktion und Tests einzurichten um Kundendaten zu isolieren und die Regionalisierung von Daten zu ermöglichen.

Die (default)-Datenbank

Wenn für Ihre Anwendung nicht mehrere Datenbanken erforderlich sind, verwenden Sie die Datenbank (default).

Wenn Sie keine Datenbank angeben, stellen die Cloud Firestore-Clientbibliotheken und die Google Cloud CLI standardmäßig eine Verbindung zur (default)-Datenbank her.

Sie können das kostenlose Kontingent nur mit der (default)-Datenbank verwenden.

Erforderliche Rollen

Zum Erstellen und Verwalten von Datenbanken benötigen Sie den Owner oder Datastore Owner Identity and Access Management-Rolle. Diese Rollen gewähren die erforderlichen Berechtigungen.

Erforderliche Berechtigungen

Zum Verwalten von Datenbanken benötigen Sie die folgenden Berechtigungen:

  • Erstellen Sie eine Datenbank: datastore.databases.create
  • Datenbankkonfiguration lesen: datastore.databases.getMetadata
  • Datenbank konfigurieren: datastore.databases.update
  • Datenbank löschen: datastore.databases.delete

Datenbank erstellen

Verwenden Sie eine der folgenden Methoden, um eine Datenbank zu erstellen:

Console
  1. Rufen Sie in der Firebase-Konsole die Seite Firestore-Datenbank auf.

    Firestore-Datenbank aufrufen

  2. Wenn dies Ihre erste benannte Datenbank ist, klicken Sie auf Datenbank hinzufügen.
  3. Andernfalls klicken Sie auf (Standardeinstellung) und dann auf Datenbank hinzufügen.
  4. Konfigurieren Sie Ihre Datenbank. Geben Sie eine Datenbank-ID ein. Wählen Sie eine Zielregion aus. Klicken Sie auf Datenbank erstellen.
gcloud

Führen Sie den gcloud firestore databases create-Befehl aus.

gcloud firestore databases create \
--database=DATABASE_ID \
--location=LOCATION \
--type=DATABASE_TYPE \
[--delete-protection]

Ersetzen Sie Folgendes:

--delete-protection ist ein optionales Flag zum Aktivieren des Löschschutzes. Sie können eine Datenbank mit aktiviertem Löschschutz erst löschen, wenn Sie diese Einstellung deaktivieren. Diese Einstellung ist standardmäßig deaktiviert.

Firebase CLI
firebase firestore:databases:create DATABASE_ID \
--location=LOCATION \
[--delete-protection DELETE_PROTECTION_ENABLEMENT]

Ersetzen Sie Folgendes:

--delete-protection ist optional , um den Löschschutz zu aktivieren. Sie können eine Datenbank nicht löschen, Löschschutz aktiviert, bis Sie diese Einstellung deaktivieren. Diese Einstellung ist standardmäßig deaktiviert.

Terraform
resource "google_firestore_database" "database" {
  project     = "project-id"
  name        = DATABASE_ID
  location_id = LOCATION
  type        = DATABASE_TYPE

  // Optional
  delete_protection_state = DELETE_PROTECTION_STATE
}

Ersetzen Sie Folgendes:

delete_protection_state ist ein optionales Argument, um das Löschen zu ermöglichen zu schützen. Sie können eine Datenbank mit aktiviertem Löschschutz nicht löschen bis Sie diese Einstellung deaktivieren. Diese Einstellung ist standardmäßig deaktiviert.

Datenbank-ID

Gültige Datenbank-IDs sind (default) und IDs, die den Folgendes:

  • Er darf nur Buchstaben, Ziffern und Bindestriche (-) enthalten.
  • Buchstaben müssen kleingeschrieben werden.
  • Das erste Zeichen muss ein Buchstabe sein.
  • Das letzte Zeichen muss ein Buchstabe oder eine Ziffer sein.
  • Mindestens 4 Zeichen
  • Maximal 63 Zeichen.
  • Darf keine UUID sein oder einer UUID ähneln. Verwenden Sie beispielsweise keine IDs wie f47ac10b-58cc-0372-8567-0e02b2c3d479

Wenn Sie eine Datenbank löschen, können Sie die Datenbank-ID erst nach 5 Minuten wiederverwenden.

Schutz löschen

Verwenden Sie den Löschschutz, um das versehentliche Löschen einer Datenbank zu verhindern. Sie können eine Datenbank mit aktiviertem Löschschutz erst löschen, wenn Sie sie deaktivieren Löschschutz. Der Löschschutz ist standardmäßig deaktiviert. Sie können wenn Sie die Datenbank erstellen. Alternativ können Sie Aktualisieren einer Datenbankkonfiguration auf Löschschutz zu aktivieren.

Cloud Firestore Security Rules für Ihre Datenbanken einrichten

Verwenden Sie die Firebase-Befehlszeile, um Cloud Firestore Security Rules in jedem Ihrer Datenbanken. Weitere Informationen finden Sie im Leitfaden zum Verwalten und Bereitstellen von Cloud Firestore Security Rules.

Mit einer Clientbibliothek auf eine benannte Datenbank zugreifen

Eine benannte Datenbank enthält alle Datenbanken mit dem Namen (default). Standardmäßig Die Firebase SDKs und Google API-Clientbibliotheken stellen eine Verbindung zu (default) her Cloud Firestore in einem Projekt. Um einen verbundenen Client zu erstellen eine benannte Datenbank hinzufügen, legen Sie die Datenbank-ID fest, wenn Sie einen Client instanziieren.

Datenbanken auflisten

Verwenden Sie eine der folgenden Methoden, um Ihre Datenbanken aufzulisten:

Console

Rufen Sie in der Google Cloud Console die Seite Datenbanken auf.

Zur Seite „Datenbanken“

gcloud

Verwenden Sie die Methode gcloud firestore databases list , um alle Datenbanken in Ihrem Projekt aufzulisten.

gcloud firestore databases list
Firebase CLI

Verwenden Sie den Befehl firebase firestore:databases:list, um alle Datenbanken in Ihrem Projekt aufzulisten.

firebase firestore:databases:list

Datenbankdetails ansehen

So rufen Sie Details zu einer einzelnen Datenbank auf:

gcloud

Führen Sie den Befehl gcloud firestore databases describe aus:

gcloud firestore databases describe --database=DATABASE_ID
Firebase CLI

Führen Sie den Befehl firebase firestore:databases:get aus:

firebase firestore:databases:get DATABASE_ID

Ersetzen Sie DATABASE_ID durch eine Datenbank-ID.

Datenbankkonfiguration aktualisieren

Verwenden Sie zum Aktualisieren der Konfigurationseinstellungen einer Datenbank die Methode gcloud firestore databases update . Verwenden Sie diesen Befehl, um den Löschschutz zu aktivieren oder zu deaktivieren.

Einstellung für den Löschschutz aktualisieren

Um den Löschschutz für eine Datenbank zu aktivieren, verwenden Sie die Methode gcloud firestore databases update mit dem Flag --delete-protection. Beispiel:

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

Ersetzen Sie DATABASE_ID durch eine Datenbank-ID.

Um den Löschschutz für eine Datenbank zu deaktivieren, verwenden Sie die Methode gcloud firestore databases update mit dem Flag --no-delete-protection. Beispiel:

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

Ersetzen Sie DATABASE_ID durch eine Datenbank-ID.

Datenbank löschen

Verwenden Sie die Console oder das Befehlszeilentool, um eine Datenbank zu löschen.

Wenn für die Datenbank der Löschschutz aktiviert ist, müssen Sie deaktivieren Sie zuerst den Löschschutz.

Enthält die Datenbank App Engine-Suchdaten oder Blob-Entitäten müssen Sie diese Daten zuerst löschen.

Beim Löschen einer Datenbank werden keine Eventarc Trigger für diese Datenbank. Die liefert keine Ereignisse mehr aus, bleibt aber bestehen, bis Sie Löschen Sie den Trigger.

Console
  1. Rufen Sie in der Firebase-Konsole die Seite Firestore-Datenbank auf.

    Firestore-Datenbank aufrufen

  2. Klicken Sie auf der Registerkarte Daten über der Datentabellenansicht für die Datenbank auf , dann auswählen Datenbank löschen
  3. Folgen Sie der Anleitung zum Löschen der Datenbank.
gcloud

Verwenden Sie den Befehl gcloud firestore databases delete.

gcloud firestore databases delete --database=DATABASE_ID

Ersetzen Sie DATABASE_ID durch die ID der zu löschenden Datenbank.

Datenbankspezifische Zugriffsberechtigungen konfigurieren

Sie können Bedingungen für die Identitäts- und Zugriffsverwaltung um Zugriffsberechtigungen auf Datenbankebene zu konfigurieren. In den folgenden Beispielen wird die Google Cloud CLI verwendet, um bedingten Zugriff für eine oder mehrere Datenbanken. Sie können auch IAM-Bedingungen in der Google Cloud Console definieren

Vorhandene IAM-Richtlinien ansehen

gcloud projects get-iam-policy PROJECT_ID

Legen Sie PROJECT_ID auf Ihre Projekt-ID fest.

Zugriff auf eine Datenbank gewähren

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'

Legen Sie Folgendes fest:

  • PROJECT_ID: Ihre Projekt-ID
  • EMAIL: eine E-Mail-Adresse, die für ein bestimmtes Google-Konto steht. Beispiel: alice@example.com.
  • DATABASE_ID: eine Datenbank-ID.
  • TITLE: ein optionaler Titel für den Ausdruck.
  • DESCRIPTION: Eine optionale Beschreibung des Ausdrucks.

Zugriff auf alle bis auf eine Datenbank gewähren

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'

Legen Sie Folgendes fest:

  • PROJECT_ID: Ihre Projekt-ID
  • EMAIL: eine E-Mail-Adresse, die für ein bestimmtes Google-Konto steht. Beispiel: alice@example.com.
  • DATABASE_ID: eine Datenbank-ID.
  • TITLE: ein optionaler Titel für den Ausdruck.
  • DESCRIPTION: Eine optionale Beschreibung des Ausdrucks.

Richtlinien für ein bestimmtes Mitglied und eine bestimmte Rolle entfernen

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

Legen Sie Folgendes fest:

  • PROJECT_ID: Ihre Projekt-ID
  • EMAIL: eine E-Mail-Adresse, die für ein bestimmtes Google-Konto steht. Beispiel: alice@example.com.

Cloud Monitoring

Messwerte vom Typ „Cloud Firestore“ werden unter zwei überwachten Ressourcen gemeldet.

Sie können zusammengefasste Messwerte auf Datenbankebene prüfen, indem Sie sich firestore.googleapis.com/Database ansehen. Die unter firestore_instance aufgeführten Messwerte werden auf Projektebene zusammengefasst.

Beschränkungen

  • Sie können maximal 100 Datenbanken pro Projekt haben. Sie können den Support kontaktieren, um eine Erhöhung dieses Limits zu beantragen.
  • Sie können Ihre (default)-Datenbank nicht löschen, wenn sie GAE-Suchdaten enthält. Verwenden Sie die Index Delete API, um GAE-Suchdaten zu löschen. Wenn Sie vor Kurzem GAE Search-Daten gelöscht haben, kann es eine Weile dauern, bis Sie die Datenbank löschen können.
  • Sie können die (default)-Datenbank nicht löschen, wenn sie Blob-Entitäten enthält. Verwenden Sie die Blobstore Delete API, um Blobstore-Daten zu löschen. Sie können prüfen, ob Ihre (default)-Datenbank Blobstore-Daten enthält, indem Sie die folgende GQL-Abfrage ausführen in der Google Cloud Console: SELECT * FROM __BlobInfo__.
  • Sie können eine Datenbank-ID erst 5 Minuten nach dem Löschen wiederverwenden.
  • Cloud Functions-Funktion v1 unterstützt keine benannten Firestore-Datenbanken. Verwenden Sie Cloud Firestore-Trigger (2. Generation), um Ereignisse für benannte Datenbanken zu konfigurieren.
  • Firestore-Funktionstrigger der Version 1 und Firestore-Ereignistrigger funktionieren möglicherweise nicht mehr, nachdem die Datenbank gelöscht wurde, auch wenn eine neue Datenbank mit demselben Namen erstellt wird.

Nächste Schritte