Auf dieser Seite wird beschrieben, wie Sie Cloud Firestore-Datenbanken erstellen, aktualisieren und löschen. Sie können pro Projekt mehrere Cloud Firestore-Datenbanken erstellen. Sie können mehrere Datenbanken verwenden, um Produktions- und Testumgebungen einzurichten, Kundendaten zu isolieren und Daten zu regionalisieren.
Die (default)
Datenbank
Wenn Ihre App nicht mehrere Datenbanken erfordert, verwenden Sie die (default)
Datenbank.
Wenn Sie keine Datenbank angeben, stellen die Cloud Firestore-Clientbibliotheken und die Google Cloud CLI standardmäßig eine Verbindung zur (default)
Datenbank her.
(default)
Datenbank verwenden.Erforderliche Rollen
Zum Erstellen und Verwalten von Datenbanken benötigen Sie die Rolle „Identitäts- und Zugriffsverwaltung“ Owner
oder Datastore Owner
. Diese Rollen gewähren die erforderlichen Berechtigungen.
Erforderliche Berechtigungen
Um Datenbanken zu verwalten, benötigen Sie folgende Berechtigungen:
- Erstellen Sie eine Datenbank:
datastore.databases.create
- Datenbankkonfiguration lesen:
datastore.databases.getMetadata
- Konfigurieren Sie eine Datenbank:
datastore.databases.update
- Löschen Sie eine Datenbank:
datastore.databases.delete
Erstellen Sie eine Datenbank
Um eine Datenbank zu erstellen, verwenden Sie eine der folgenden Methoden:
Konsole
Gehen Sie in der Google Cloud Platform Console zur Seite „Datenbanken“ .
- Klicken Sie auf Datenbank erstellen .
- Wählen Sie einen Datenbankmodus. Klicken Sie auf Weiter
- Konfigurieren Sie Ihre Datenbank. Geben Sie eine Datenbank-ID ein. Wähle einen Ort. Klicken Sie auf Datenbank erstellen .
gcloud
Verwenden Sie den Befehl gcloud alpha firestore databases create
.
gcloud alpha firestore databases create \ --database=DATABASE_ID \ --location=LOCATION \ --type=DATABASE_TYPE \ [--delete-protection]
Ersetzen Sie Folgendes:
- DATABASE_ID : eine gültige Datenbank-ID .
- LOCATION : der Name einer Cloud Firestore-Multiregion oder -Region .
- DATABASE_TYPE : entweder
firestore-native
für den nativen Modus oder datastore-mode für den Datastore-Modus.
--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:
- DATABASE_ID : eine gültige Datenbank-ID .
- LOCATION : der Name einer Cloud Firestore-Multiregion oder -Region .
- DELETE_PROTECTION_ENABLEMENT : Entweder
ENABLED
oderDISABLED
. Die erstellte Datenbank befindet sich immer im nativen Firestore-Modus.
--delete-protection
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:
- DATABASE_ID : eine gültige Datenbank-ID .
- LOCATION : der Name einer Cloud Firestore-Multiregion oder -Region .
- DATABASE_TYPE : entweder
FIRESTORE_NATIVE
für den nativen Modus oderDATASTORE_MODE
für den Datastore-Modus. - DELETE_PROTECTION_ENABLEMENT : Entweder
DELETE_PROTECTION_ENABLED
oderDELETE_PROTECTION_DISABLED
.
delete_protection_state
ist ein optionales Argument 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.
Datenbank-ID
Zu den gültigen Datenbank-IDs gehören (default)
und IDs, die den folgenden Anforderungen entsprechen:
- Enthält nur Buchstaben, Zahlen und Bindestriche (
-
). - Buchstaben müssen kleingeschrieben sein.
- Das erste Zeichen muss ein Buchstabe sein.
- Das letzte Zeichen muss ein Buchstabe oder eine Zahl sein.
- Mindestens 4 Zeichen.
- Maximal 63 Zeichen.
- Darf keine UUID sein oder einer UUID ähneln. Verwenden Sie beispielsweise keine ID wie
f47ac10b-58cc-0372-8567-0e02b2c3d479
.
Wenn Sie eine Datenbank löschen, können Sie die Datenbank-ID erst nach 5 Minuten wieder verwenden.
Schutz löschen
Verwenden Sie den Löschschutz, um ein versehentliches Löschen einer Datenbank zu verhindern. 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 aktivieren, wenn Sie die Datenbank erstellen, oder Sie können eine Datenbankkonfiguration aktualisieren , um den Löschschutz zu aktivieren.
Richten Sie Cloud Firestore-Sicherheitsregeln für Ihre Datenbanken ein
Verwenden Sie die Firebase-CLI, um Cloud Firestore-Sicherheitsregeln für jede Ihrer Datenbanken bereitzustellen. Weitere Informationen finden Sie im Leitfaden zum Verwalten und Bereitstellen von Cloud Firestore-Sicherheitsregeln .
Greifen Sie mit einer Clientbibliothek auf eine benannte Datenbank zu
Eine benannte Datenbank umfasst alle nicht benannten Datenbanken (default)
. Standardmäßig stellen die Firebase SDKs und Google API-Clientbibliotheken eine Verbindung zur (default)
Cloud Firestore-Datenbank in einem Projekt her. Um einen Client zu erstellen, der mit einer benannten Datenbank verbunden ist, legen Sie die Datenbank-ID fest, wenn Sie einen Client instanziieren.
Datenbanken auflisten
Verwenden Sie eine der folgenden Methoden, um Ihre Datenbanken aufzulisten:
Konsole
Gehen Sie in der Google Cloud Platform Console zur Seite „Datenbanken“ .
gcloud
Verwenden Sie den Befehl gcloud firestore databases list
, um alle Datenbanken in Ihrem Projekt aufzulisten.
gcloud firestore databases list
Datenbankdetails anzeigen
Um Details zu einer einzelnen Datenbank anzuzeigen, verwenden Sie den Befehl gcloud firestore databases describe
:
gcloud
gcloud firestore databases describe --database=DATABASE_ID
Ersetzen Sie DATABASE_ID durch eine Datenbank-ID.
Datenbankkonfiguration aktualisieren
Um die Konfigurationseinstellungen einer Datenbank zu aktualisieren, verwenden Sie den Befehl gcloud alpha firestore databases update
. Verwenden Sie diesen Befehl, um den Löschschutz zu aktivieren oder zu deaktivieren.
Aktualisieren Sie die Löschschutzeinstellung
Um den Löschschutz für eine Datenbank zu aktivieren, verwenden Sie den Befehl gcloud alpha firestore databases update
mit dem Flag --delete-protection
. Zum Beispiel:
gcloud
gcloud alpha 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 den Befehl gcloud alpha firestore databases update
mit dem Flag --no-delete-protection
. Zum Beispiel:
gcloud
gcloud alpha firestore databases update --database=DATABASE_ID --no-delete-protection
Ersetzen Sie DATABASE_ID durch eine Datenbank-ID.
Löschen Sie eine Datenbank
Um eine Datenbank zu löschen, verwenden Sie die Konsole oder das Befehlszeilentool.
Wenn für die Datenbank die Löschschutzeinstellung aktiviert ist, müssen Sie zunächst den Löschschutz deaktivieren .
Wenn die Datenbank App Engine-Suchdaten oder Blob-Entitäten enthält, müssen Sie diese Daten zuerst löschen.
Durch das Löschen einer Datenbank werden nicht automatisch alle Eventarc-Trigger für diese Datenbank gelöscht. Der Auslöser liefert keine Ereignisse mehr, bleibt jedoch bestehen, bis Sie den Auslöser löschen .
Konsole
Gehen Sie in der Google Cloud Platform Console zur Seite „Datenbanken“ .
- Klicken Sie in der Tabellenzeile für die Datenbank, die Sie löschen möchten, auf View more . Klicken Sie auf Löschen . Es erscheint ein Dialog.
In der Datenbank löschen? Bestätigen Sie im Dialogfenster den Löschvorgang, indem Sie die Datenbank-ID in das Textfeld eingeben. Klicken Sie auf Löschen . Die Konsole informiert Sie über den Erfolg oder Misserfolg des Vorgangs.
Wenn der Vorgang fehlschlägt, sehen Sie sich die Datenbankdetails an und stellen Sie sicher, dass der Löschschutz deaktiviert ist. Informationen zum Deaktivieren des Löschschutzes finden Sie unter Aktualisieren der Löschschutzeinstellung .
gcloud
Verwenden Sie den Befehl „gcloud alpha firestore Databases delete“ .
gcloud alpha firestore databases delete --database=DATABASE_ID
Ersetzen Sie DATABASE_ID durch die ID der zu löschenden Datenbank.
Konfigurieren Sie Zugriffsberechtigungen pro Datenbank
Sie können Identity and Access Management Conditions verwenden, 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 zuzuweisen. Sie können IAM-Bedingungen auch in der GCP Console definieren .
Sehen Sie sich vorhandene IAM-Richtlinien an
gcloud projects get-iam-policy PROJECT_ID
Setzen Sie PROJECT_ID
auf Ihre Projekt-ID.
Gewähren Sie Zugriff auf eine Datenbank
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'
Stellen Sie Folgendes ein:
-
PROJECT_ID
: Ihre Projekt-ID -
EMAIL
: eine E-Mail-Adresse, die ein bestimmtes Google-Konto repräsentiert. Zum Beispielalice@example.com
. -
DATABASE_ID
: eine Datenbank-ID. -
TITLE
: ein optionaler Titel für den Ausdruck. -
DESCRIPTION
: eine optionale Beschreibung des Ausdrucks.
Gewähren Sie Zugriff auf alle bis auf eine Datenbank
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'
Stellen Sie Folgendes ein:
-
PROJECT_ID
: Ihre Projekt-ID -
EMAIL
: eine E-Mail-Adresse, die ein bestimmtes Google-Konto repräsentiert. Zum Beispielalice@example.com
. -
DATABASE_ID
: eine Datenbank-ID. -
TITLE
: ein optionaler Titel für den Ausdruck. -
DESCRIPTION
: eine optionale Beschreibung des Ausdrucks.
Entfernen Sie Richtlinien für ein bestimmtes Mitglied und eine bestimmte Rolle
gcloud projects remove-iam-policy-binding PROJECT_ID \
--member='user:EMAIL' \
--role='roles/datastore.user' --all
Stellen Sie Folgendes ein:
-
PROJECT_ID
: Ihre Projekt-ID -
EMAIL
: eine E-Mail-Adresse, die ein bestimmtes Google-Konto repräsentiert. Zum Beispielalice@example.com
.
Cloud-Überwachung
Cloud Firestore-Metriken werden unter zwei überwachten Ressourcen gemeldet.
Sie können aggregierte Metriken auf Datenbankebene überprüfen, indem Sie sich firestore.googleapis.com/Database
ansehen. Die unter firestore_instance
gemeldeten Metriken werden auf Projektebene aggregiert.
Einschränkungen
- Sie können maximal 100 Datenbanken pro Projekt haben. Sie können sich an den Support wenden, um eine Erhöhung dieses Limits anzufordern.
- Sie können Ihre Datenbank nicht löschen, wenn sie GAE-Suchdaten und/oder Blob-Entitäten enthält. Bitte verwenden Sie die API zum Löschen des Index , um GAE-Suchdaten zu löschen, und die API zum Löschen des Blobstores, um Blobstore-Daten zu löschen.
- Sie können eine Datenbank-ID erst 5 Minuten nach dem Löschvorgang wiederverwenden.
- Cloud Function v1 unterstützt keine benannten Firestore-Datenbanken. Bitte verwenden Sie Cloud Firestore Triggers (2. Generation) , um Ereignisse für benannte Datenbanken zu konfigurieren.
- Firestore-Funktionsauslöser v1 und Firestore-Ereignisauslöser funktionieren möglicherweise nicht mehr, nachdem die Datenbank gelöscht wurde, selbst wenn eine neue Datenbank mit demselben Namen erstellt wird.