Auf dieser Seite wird beschrieben, wie Firestore im Datastore-Modus erstellt, aktualisiert und gelöscht wird. Datenbanken. Sie können mehrere 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 Ihre App keine mehrere Datenbanken benötigt, verwenden Sie die (default)
-Datenbank.
Wenn Sie keine Datenbank angeben, stellen die Clientbibliotheken für den Datastore-Modus 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 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
-
Rufen Sie in der Google Cloud Console die Seite Datenbanken auf.
- Klicken Sie auf Datenbank erstellen.
- Wählen Sie einen Datenbankmodus aus. Klicken Sie auf Weiter.
- Konfigurieren Sie Ihre Datenbank. Geben Sie eine Datenbank-ID ein. Wählen Sie einen Standort 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:
- DATABASE_ID: eine gültige Datenbank-ID.
- LOCATION: Der Name einer Multiregion oder Region im Datastore-Modus.
- DATABASE_TYPE: entweder
firestore-native
für den nativen Modus oderdatastore-mode
für den Datastore-Modus.
--delete-protection
ist ein optionales Flag, um den Löschschutz zu aktivieren.
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 Multiregion oder Region im Datastore-Modus.
- DELETE_PROTECTION_ENABLEMENT: entweder
ENABLED
oderDISABLED
.
Die erstellte Datenbank befindet sich immer im nativen Modus von Firestore.
--delete-protection
ist optional
, um den Löschschutz zu aktivieren. Sie können eine Datenbank mit aktiviertem Löschschutz erst löschen, wenn Sie diese Einstellung deaktivieren. Diese Einstellung ist
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:
- DATABASE_ID: eine gültige Datenbank-ID.
- LOCATION: der Name einer Multiregion oder Region im Datastore-Modus.
- 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, 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.
Mit einer Clientbibliothek auf eine benannte Datenbank zugreifen
Eine benannte Datenbank ist eine Datenbank, die nicht (default)
heißt. Standardmäßig
Die Firebase SDKs und Google API-Clientbibliotheken stellen eine Verbindung zu (default)
her
Firestore-Datenbank 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
Sie haben folgende Möglichkeiten, Ihre Datenbanken aufzulisten:
Console
Rufen Sie in der Google Cloud Console die Seite Datenbanken auf.
gcloud
Verwenden Sie den Befehl 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
Verwenden Sie eine der folgenden Methoden, um Details zu einer einzelnen Datenbank aufzurufen:
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 den Befehl gcloud firestore databases update
, um die Konfigurationseinstellungen einer Datenbank zu aktualisieren.
Mit diesem Befehl können Sie den Datenbanktyp ändern oder den Löschschutz aktivieren oder deaktivieren.
Datenbanktyp ändern
Verwenden Sie den Befehl gcloud firestore databases update
mit dem Flag --type=
, um den Typ einer Datenbank zu aktualisieren. Sie können den Typ nur ändern, wenn die Datenbank
ist leer.
gcloud
gcloud firestore databases update --database=DATABASE_ID \ --type=DATABASE_TYPE
Ersetzen Sie Folgendes:
- DATABASE_ID: eine Datenbank-ID.
- DATABASE_TYPE: entweder
firestore-native
für den nativen Modus oderdatastore-mode
für den Datastore-Modus.
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
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
gcloud firestore databases update --database=DATABASE_ID --no-delete-protection
Ersetzen Sie DATABASE_ID durch eine Datenbank-ID.
Datenbank löschen
Verwenden Sie zum Löschen einer Datenbank die Console oder das Befehlszeilentool.
Wenn für die Datenbank der Löschschutz aktiviert ist, müssen Sie ihn zuerst deaktivieren.
Wenn die Datenbank App Engine-Suchdaten oder Blob-Entitäten enthält, müssen Sie diese Daten zuerst löschen.
Wenn Sie eine Datenbank löschen, werden nicht automatisch alle Eventarc-Trigger für diese Datenbank gelöscht. Der Trigger sendet keine Ereignisse mehr, bleibt aber bestehen, bis Sie ihn löschen.
Console
-
Rufen Sie in der Google Cloud Console die Seite Datenbanken auf.
- Klicken Sie in der Tabellenzeile für die Datenbank, die Sie löschen möchten, auf Mehr anzeigen. Klicken Sie auf Löschen. Ein Dialogfeld angezeigt wird.
Bestätigen Sie im Dialogfeld Datenbank löschen? den Vorgang, indem Sie die Datenbank-ID in das Textfeld eingeben. Klicken Sie auf Löschen. Die Konsole informiert Sie ob der Vorgang erfolgreich war oder nicht.
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 Aktualisieren Sie die Einstellung für den Löschschutz.
gcloud
Verwenden Sie die Methode `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.
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 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-IDEMAIL
: 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-IDEMAIL
: 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-IDEMAIL
: eine E-Mail-Adresse, die für ein bestimmtes Google-Konto steht. Beispiel:alice@example.com
.
Cloud Monitoring
Firestore-Messwerte werden unter zwei überwachten Ressourcen erfasst.
In firestore.googleapis.com/Database
finden Sie zusammengefasste Messwerte auf Datenbankebene. Die unter „firestore_instance
“ gemeldeten Messwerte werden auf Projektebene zusammengefasst.
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.
- 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-Suchdaten gelöscht haben, kann es eine Wartezeit geben, 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 nach 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 v1 und Firestore-Ereignistrigger funktionieren möglicherweise nicht mehr, nachdem die Datenbank gelöscht wurde, selbst wenn eine neue Datenbank mit demselben Namen erstellt wird.