Datenbanken erstellen und verwalten

Auf dieser Seite wird beschrieben, wie Sie Firestore-Datenbanken mit MongoDB-Kompatibilität erstellen, aktualisieren und löschen. Sie können pro Projekt mehrere Firestore-Datenbanken erstellen. Sie können mehrere Datenbanken verwenden, um Produktions- und Testumgebungen einzurichten, Kundendaten zu isolieren und Daten zu regionalisieren.

Kostenlose Nutzung

Firestore bietet eine kostenlose Stufe, die Ihnen den Einstieg erleichtert.

Das kostenlose Kontingent gilt nur für eine Firestore-Datenbank pro Projekt. Die erste Datenbank, die in einem Projekt ohne Datenbank im kostenlosen Tarif erstellt wird, erhält den kostenlosen Tarif. Wenn die Datenbank mit dem kostenlosen Tarif gelöscht wird, wird der kostenlose Tarif auf die nächste erstellte Datenbank angewendet.

Hinweise

Bevor Sie eine Datenbank erstellen, müssen Sie die folgenden Schritte ausführen:

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

  2. Weisen Sie wie im nächsten Abschnitt beschrieben die entsprechenden IAM-Rollen zu.

Erforderliche Rollen

Zum Erstellen und Verwalten von Datenbanken benötigen Sie die Identity and Access Management-Rolle Owner oder Datastore Owner. 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

So erstellen Sie eine Firestore-Datenbank mit MongoDB-Kompatibilität:

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

    Zur Seite „Datenbanken“

  2. Klicken Sie auf Firestore-Datenbank erstellen.
  3. Geben Sie eine Datenbank-ID ein.
  4. Wählen Sie „Enterprise Edition“ aus.
  5. Wählen Sie einen Speicherort für die Datenbank aus.
  6. Optional: Wenn Sie die Verschlüsselung anpassen möchten, klicken Sie auf Verschlüsselungsoptionen anzeigen und konfigurieren Sie die Verschlüsselungsoptionen.
  7. Klicken Sie auf Datenbank erstellen.

Verwenden Sie den Befehl gcloud firestore databases create und legen Sie --edition=enterprise fest.

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

Ersetzen Sie Folgendes:

Wenn Sie den Löschschutz aktivieren möchten, fügen Sie das Flag --delete-protection hinzu. Sie können eine Datenbank mit aktiviertem Löschschutz erst löschen, wenn Sie diese Einstellung deaktivieren. Diese Einstellung ist standardmäßig deaktiviert.

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

Verwenden Sie die Ressource google_firestore_database und legen Sie database_edition auf ENTERPRISE fest.

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

  // Optional
  delete_protection_state = "DELETE_PROTECTION_STATE"
}

Ersetzen Sie Folgendes:

Um den Löschschutz zu aktivieren, setzen Sie delete_protection_state auf DELETE_PROTECTION_ENABLED. Sie können eine Datenbank mit aktiviertem Löschschutz erst löschen, wenn Sie diese Einstellung deaktivieren. Diese Einstellung ist standardmäßig deaktiviert.

Datenbank-ID

Gültige Datenbank-IDs sind IDs, die den folgenden Anforderungen entsprechen:

  • Enthält nur Buchstaben, Zahlen und Bindestriche (-).
  • Buchstaben müssen Kleinbuchstaben sein.
  • 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 nicht die ID 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

Mit dem Löschschutz können Sie verhindern, dass eine Datenbank versehentlich gelöscht wird. So funktioniert der Löschschutz:

  • Sie können eine Datenbank mit aktiviertem Löschschutz erst löschen, wenn Sie den Löschschutz deaktivieren.
  • Der Löschschutz ist standardmäßig deaktiviert.
  • Sie können den Löschschutz beim Erstellen der Datenbank aktivieren oder eine Datenbankkonfiguration aktualisieren, um den Löschschutz zu aktivieren.

Datenbanken auflisten

Sie haben folgende Möglichkeiten, Ihre Datenbanken aufzulisten:

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

Zur Seite „Datenbanken“

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

gcloud firestore databases list

Datenbankdetails ansehen

So rufen Sie Details zu einer einzelnen Datenbank auf:

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

    Zur Seite „Datenbanken“

  2. Wählen Sie eine Datenbank aus der Liste der Datenbanken aus.

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

gcloud firestore databases describe --database=DATABASE_ID

Ersetzen Sie DATABASE_ID durch eine Datenbank-ID.

Datenbankkonfiguration aktualisieren

Verwenden Sie den Befehl gcloud firestore databases update, um die Konfigurationseinstellungen einer Datenbank zu aktualisieren.

Mit diesem Befehl können Sie den Löschschutz ändern, aktivieren oder deaktivieren.

Einstellung für den Löschschutz aktualisieren

Verwenden Sie den Befehl gcloud firestore databases update mit dem Flag --delete-protection, um den Löschschutz für eine Datenbank zu aktivieren. Beispiel:

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

Ersetzen Sie DATABASE_ID durch eine Datenbank-ID.

Verwenden Sie den Befehl gcloud firestore databases update mit dem Flag --no-delete-protection, um den Löschschutz für eine Datenbank zu deaktivieren. Beispiel:

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. Für das Löschen einer Datenbank fallen keine Kosten an.

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

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

    Zur Seite „Datenbanken“

  2. Klicken Sie in der Spalte Aktionen für die Datenbank, die Sie löschen möchten, auf  Mehr anzeigen. Klicken Sie auf Löschen. Ein Dialogfeld wird angezeigt.
  3. Bestätigen Sie im Dialogfeld Datenbank löschen? den Vorgang, indem Sie die Datenbank-ID in das Textfeld eingeben. Klicken Sie auf Löschen. In der Console wird angezeigt, ob der Vorgang erfolgreich war oder fehlgeschlagen ist.

    Wenn der Vorgang fehlschlägt, rufen Sie die Datenbankdetails auf und prüfen Sie, ob der Löschschutz deaktiviert ist. Informationen zum Deaktivieren des Löschschutzes finden Sie unter Einstellung für den Löschschutz aktualisieren.

Verwenden Sie den Befehl gcloud firestore databases delete.

gcloud firestore databases delete --database=DATABASE_ID

Ersetzen Sie DATABASE_ID durch die ID der Datenbank, die gelöscht werden soll.

Zugriffsberechtigungen pro Datenbank konfigurieren

Mit Bedingungen für die Identitäts- und Zugriffsverwaltung können Sie Zugriffsberechtigungen auf Datenbankebene konfigurieren. In den folgenden Beispielen wird die Google Cloud CLI verwendet, um einer oder mehreren Datenbanken bedingten Zugriff zuzuweisen. Sie können IAM-Bedingungen auch 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 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 Datenbanken außer einer 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 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 Konto steht. Beispiel: alice@example.com.

Beschränkungen

Pro Projekt können maximal 100 Datenbanken verwendet werden. Sie können den Support kontaktieren, um eine Erhöhung dieses Limits zu beantragen.

Nächste Schritte