Mit Sicherungen können Sie Sicherungspläne täglich oder wöchentlich konfigurieren Sicherungen der angegebenen Datenbank. Mit diesen Sicherungen können Sie dann in eine neue Datenbank übertragen.
Informationen zu Sicherungen
Eine Sicherung ist eine konsistente Kopie der Datenbank zu einem bestimmten Zeitpunkt. Die Sicherung enthält alle Daten und Indexkonfigurationen zu diesem Zeitpunkt mit der Zeit kommen. Eine Sicherung enthält keine Datenbank-Gültigkeitsdauer-Richtlinien. Eine Sicherung befindet sich am selben Speicherort wie die Quelldatenbank.
Sicherungen haben eine konfigurierbare Aufbewahrungsdauer und werden bis zur Aufbewahrung gespeichert oder bis Sie die Sicherung löschen. Das Löschen der Quelldatenbank zugehörige Sicherungen werden nicht automatisch gelöscht.
Firestore speichert Metadaten zu Sicherungen und Sicherungen Zeitplänen, die sich auf eine Datenbank beziehen. Firestore behält diese Metadaten bei bis alle Sicherungen für die Datenbank ablaufen oder gelöscht werden.
Das Erstellen oder Aufbewahren von Sicherungen hat keinen Einfluss auf die Leistung von Lesevorgängen oder in Ihrer Live-Datenbank schreibt.
Kosten
Bei der Verwendung von Sicherungen wird Ihnen Folgendes in Rechnung gestellt:
- Der von jeder Sicherung verwendete Speicherplatz.
- Die Kosten für einen Wiederherstellungsvorgang richten sich nach der Größe der Sicherung.
Weitere Einzelheiten und die genauen Preise finden Sie auf der Seite Preise.
Hinweise
Die Abrechnung für das Google Cloud-Projekt muss aktiviert sein. Hier erfahren Sie, wie Sie prüfen, ob die Abrechnung für ein Projekt aktiviert ist.Erforderliche Rollen
Um die Berechtigungen zu erhalten, die Sie zum Verwalten von Sicherungen und Sicherungszeitplänen benötigen, Bitten Sie Ihren Administrator, Ihnen eine oder mehrere der folgenden Identity and Access Management zu gewähren. Rollen:
roles/datastore.owner
: Vollständiger Zugriff auf die Firestore-DatenbankDie folgenden Rollen sind auch verfügbar, aber nicht in der Google Cloud Console sichtbar. Google Cloud CLI verwenden , um diese Rollen zuzuweisen:
roles/datastore.backupsAdmin
: Lese- und Schreibzugriff auf Sicherungenroles/datastore.backupsViewer
: Lesezugriff auf Sicherungenroles/datastore.backupSchedulesAdmin
: Lese- und Schreibzugriff auf Sicherungszeitpläneroles/datastore.backupSchedulesViewer
: Lesezugriff auf Sicherungszeitpläneroles/datastore.restoreAdmin
: Berechtigungen zum Starten von Wiederherstellungsvorgängen
Sicherungspläne erstellen und verwalten
Die folgenden Beispiele zeigen, wie Sie einen Sicherungszeitplan einrichten. Für jede können Sie bis zu einen täglichen Sicherungszeitplan und bis zu eine wöchentliche Zeitplan für die Sicherung. Sie können nicht mehrere wöchentliche Sicherungspläne für an unterschiedlichen Wochentagen.
Sie können die genaue Uhrzeit der Sicherung nicht konfigurieren. Sicherungen werden erstellt am zu unterschiedlichen Zeiten. Für wöchentliche Sicherung können Sie festlegen, an welchem Wochentag eine Sicherung erstellt werden soll.
Zeitplan für die Sicherung erstellen
Verwenden Sie zum Erstellen eines Sicherungszeitplans für eine Datenbank die Methode
gcloud firestore backups schedules create
- oder firebase firestore:databases:backups:schedules
-Befehl.
Täglichen Sicherungszeitplan erstellen
gcloud
Legen Sie das Flag--recurrence
auf daily
fest, um einen täglichen Sicherungszeitplan zu erstellen:
gcloud firestore backups schedules create \ --database='DATABASE_ID' \ --recurrence=daily \ --retention=RETENTION_PERIOD
Ersetzen Sie Folgendes:
- DATABASE_ID: Die ID der zu sichernden Datenbank. Festlegen auf
'(default)'
für die Standarddatenbank. - RETENTION_PERIOD: Legen Sie dafür einen Wert von bis zu 14 Wochen (
14w
) fest.
Firebase CLI
Legen Sie das Flag--recurrence
auf DAILY
fest, um einen täglichen Sicherungszeitplan zu erstellen:
firebase firestore:backups:schedules:create \ --database 'DATABASE_ID' \ --recurrence 'DAILY' \ --retention RETENTION_PERIOD
Ersetzen Sie Folgendes:
- DATABASE_ID: Die ID der zu sichernden Datenbank. Festlegen auf
'(default)'
für die Standarddatenbank. - RETENTION_PERIOD: Legen Sie dafür einen Wert von bis zu 14 Wochen (
14w
) fest.
Terraform
Erstellen Sie einegoogle_firestore_backup_schedule
-Ressource, um einen täglichen Sicherungszeitplan zu erstellen.
resource "google_firestore_backup_schedule" "daily-backup" { project = PROJECT_ID database = DATABASE_ID retention = RETENTION_PERIOD_SECONDS daily_recurrence {} }
Ersetzen Sie Folgendes:
- PROJECT_ID: ID des Projekts
- DATABASE_ID: Die ID der zu sichernden Datenbank. Festlegen auf
'(default)'
für die Standarddatenbank.
Sie können auch eine Ressourcenreferenz auf ein
Terraform-Ressource vom Typ - RETENTION_PERIOD_SECONDS: Legen Sie dafür einen Wert in Sekunden gefolgt von „s“ fest. Der Höchstwert beträgt
8467200s
(14 Wochen).
google_firestore_database
.
Wöchentlichen Sicherungszeitplan erstellen
gcloud
Legen Sie das Flag--recurrence
auf weekly
fest, um einen wöchentlichen Sicherungszeitplan zu erstellen:
gcloud firestore backups schedules create \ --database='DATABASE_ID' \ --recurrence=weekly \ --retention=RETENTION_PERIOD \ --day-of-week=DAYErsetzen Sie dabei Folgendes:
- DATABASE_ID: Die ID der zu sichernden Datenbank. Festlegen auf
'(default)'
für die Standarddatenbank. - RETENTION_PERIOD: Legen Sie dafür einen Wert von bis zu 14 Wochen (
14w
) fest. - DAY: Der Wochentag, an dem die Sicherung erstellt wird. Festlegen auf
eines der folgenden:
<ph type="x-smartling-placeholder">
- </ph>
SUN
für SonntagMON
für MontagTUE
für DienstagWED
für MittwochTHU
für DonnerstagFRI
für FreitagSAT
für Samstag
Firebase CLI
Legen Sie das Flag--recurrence
auf WEEKLY
fest, um einen wöchentlichen Sicherungszeitplan zu erstellen:
firebase firestore:backups:schedules:create \ --database 'DATABASE_ID' \ --recurrence 'WEEKLY' \ --retention RETENTION_PERIOD --day-of-week DAYErsetzen Sie dabei Folgendes:
- DATABASE_ID: Die ID der zu sichernden Datenbank. Festlegen auf
'(default)'
für die Standarddatenbank. - RETENTION_PERIOD: Legen Sie dafür einen Wert von bis zu 14 Wochen (
14w
) fest. - DAY: Der Wochentag, an dem die Sicherung erstellt wird. Festlegen auf
eines der folgenden:
<ph type="x-smartling-placeholder">
- </ph>
SUNDAY
für SonntagMONDAY
für MontagTUESDAY
für DienstagWEDNESDAY
für MittwochTHURSDAY
für DonnerstagFRIDAY
für FreitagSATURDAY
für Samstag
Terraform
Zum Erstellen eines wöchentlichen Sicherungszeitplans erstellen Sie einegoogle_firestore_backup_schedule
-Ressource.
resource "google_firestore_backup_schedule" "weekly-backup" { project = PROJECT_ID database = DATABASE_ID retention = RETENTION_PERIOD_SECONDS weekly_recurrence { day = DAY } }
Ersetzen Sie Folgendes:
- PROJECT_ID: ID des Projekts
- DATABASE_ID: Die ID der zu sichernden Datenbank. Festlegen auf
'(default)'
für die Standarddatenbank.
Sie können auch eine Ressourcenreferenz auf ein
Terraform-Ressource vom Typ - RETENTION_PERIOD_SECONDS: Legen Sie dafür einen Wert in Sekunden gefolgt von „s“ fest. Der Höchstwert beträgt
8467200s
(14 Wochen). - DAY: Der Wochentag, an dem die Sicherung erstellt wird. Festlegen auf
eines der folgenden:
<ph type="x-smartling-placeholder">
- </ph>
SUNDAY
für SonntagMONDAY
für MontagTUESDAY
für DienstagWEDNESDAY
für MittwochTHURSDAY
für DonnerstagFRIDAY
für FreitagSATURDAY
für Samstag
google_firestore_database
.
Sicherungspläne auflisten
Verwenden Sie eine der folgenden Methoden, um alle Sicherungspläne für eine Datenbank aufzulisten:
gcloud
Führen Sie den Befehlgcloud firestore backups schedules list
aus.
gcloud firestore backups schedules list \ --database='DATABASE_ID'Ersetzen Sie DATABASE_ID durch die ID der Datenbank. Verwenden Sie
'(default)'
für die Standarddatenbank.
Firebase CLI
Führen Sie den Befehlfirebase firestore:backups:schedules:list
aus.
firebase firestore:backups:schedules:list \ --database 'DATABASE_ID'Ersetzen Sie DATABASE_ID durch die ID der Datenbank. Verwenden Sie
'(default)'
für die Standarddatenbank.
Zeitplan für die Sicherung beschreiben
Verwenden Sie eine der folgenden Methoden, um Informationen zu einem Sicherungszeitplan abzurufen:
gcloud
Verwenden Sie die Methodegcloud firestore backups schedules describe
-Befehl:
gcloud firestore backups schedules describe \ --database='DATABASE_ID' \ --backup-schedule=BACKUP_SCHEDULE_IDErsetzen Sie dabei Folgendes: <ph type="x-smartling-placeholder">
- </ph>
- DATABASE_ID: Die ID der zu sichernden Datenbank. Festlegen auf
'(default)'
für die Standarddatenbank. - BACKUP_SCHEDULE_ID: Die ID eines Sicherungszeitplans. Ich können Sie die ID jedes Sicherungszeitplans sehen, Listen Sie alle Sicherungspläne auf.
Zeitplan für die Sicherung aktualisieren
Verwenden Sie eine der folgenden Methoden, um die Aufbewahrungsdauer eines Sicherungszeitplans zu aktualisieren:
gcloud
Führen Sie den Befehlgcloud firestore backups schedules update
aus:
gcloud firestore backups schedules update \ --database='DATABASE_ID' \ --backup-schedule=BACKUP_SCHEDULE_ID \ --retention=RETENTION_PERIODErsetzen Sie dabei Folgendes: <ph type="x-smartling-placeholder">
- </ph>
- DATABASE_ID: Die ID der zu sichernden Datenbank. Festlegen auf
'(default)'
für die Standarddatenbank. - BACKUP_SCHEDULE_ID: Die ID eines Sicherungszeitplans. Ich können Sie die ID jedes Sicherungszeitplans sehen, Listen Sie alle Sicherungspläne auf.
- RETENTION_PERIOD: Legen Sie dafür einen Wert von bis zu 14 Wochen (
14w
) fest.
Firebase CLI
Führen Sie den Befehlfirebase firestore:backups:schedules:update
aus:
firebase firestore:backups:schedules:update \ BACKUP_SCHEDULE \ --retention RETENTION_PERIODErsetzen Sie dabei Folgendes: <ph type="x-smartling-placeholder">
- </ph>
- BACKUP_SCHEDULE: Der vollständige Ressourcenname eines Sicherungszeitplans. Ich können Sie den Namen jedes Sicherungszeitplans sehen, Listen Sie alle Sicherungspläne auf.
- RETENTION_PERIOD: Legen Sie dafür einen Wert von bis zu 14 Wochen (
14w
) fest.
Sie können die Aufbewahrungsdauer eines Sicherungszeitplans aktualisieren, aber nicht seine Wiederholung. Wenn Sie einen Sicherungszeitplan mit einer anderen Wiederholung benötigen, löschen Sie den alten Sicherungszeitplan, wenn er nicht mehr benötigt wird, und erstellen Sie einen neuen Sicherungszeitplan mit der gewünschten Wiederholung.
Zeitplan für die Sicherung löschen
Verwenden Sie eine der folgenden Methoden, um einen Sicherungszeitplan zu löschen:
gcloud
Führen Sie den Befehlgcloud firestore backups schedules delete
aus:
gcloud firestore backups schedules delete \ --database='DATABASE_ID' \ --backup-schedule=BACKUP_SCHEDULE_IDErsetzen Sie dabei Folgendes: <ph type="x-smartling-placeholder">
- </ph>
- DATABASE_ID: Die ID der zu sichernden Datenbank. Festlegen auf
'(default)'
für die Standarddatenbank. - BACKUP_SCHEDULE_ID: Die ID eines Sicherungszeitplans. Ich können Sie die ID jedes Sicherungszeitplans sehen, Listen Sie alle Sicherungspläne auf.
Firebase CLI
Führen Sie den Befehlfirebase firestore:backups:schedules:delete
aus:
firebase firestore:backups:schedules:delete \ BACKUP_SCHEDULEErsetzen Sie dabei Folgendes: <ph type="x-smartling-placeholder">
- </ph>
- BACKUP_SCHEDULE: Der vollständige Ressourcenname eines Sicherungszeitplans. Ich können Sie den Namen jedes Sicherungszeitplans sehen, Listen Sie alle Sicherungspläne auf.
Beachten Sie, dass durch das Löschen eines Sicherungszeitplans keine Sicherungen gelöscht werden, die bereits von diesem Zeitplan. Sie können warten, bis die Aufbewahrungsdauer abgelaufen ist, oder Informationen zum manuellen Löschen einer Sicherung finden Sie unter Sicherung löschen.
Sicherungen verwalten
Sicherungen auflisten
Verwenden Sie eine der folgenden Methoden, um verfügbare Sicherungen aufzulisten:
gcloud
Führen Sie den Befehlgcloud firestore backups list
aus:
gcloud firestore backups list \ --format="table(name, database, state)"Das Flag
--format="table(name, database, state)"
formatiert die Ausgabe in
und lesbarer sein.
Verwenden Sie das Flag --location
, um nur die Sicherungen von einem bestimmten Speicherort aufzulisten:
gcloud firestore backups list \ --location=LOCATION \ --format="table(name, database, state)"Ersetzen Sie
LOCATION
durch den Namen eines Datastore-Modus.
Standort.
Firebase CLI
Führen Sie den Befehlfirebase firestore:backups:list
aus:
firebase firestore:backups:listVerwenden Sie das Flag
--location
, um nur die Sicherungen von einem bestimmten Speicherort aufzulisten:
firebase firestore:backups:list \ --location=LOCATIONErsetzen Sie
LOCATION
durch den Namen eines Datastore-Modus.
Standort.
Sicherung beschreiben
Mit einer der folgenden Methoden können Sie Details zu einer Sicherung aufrufen:
gcloud
Führen Sie den Befehlgcloud firestore backups describe
aus:
gcloud firestore backups describe \ --location=LOCATION \ --backup=BACKUP_IDErsetzen Sie dabei Folgendes: <ph type="x-smartling-placeholder">
- </ph>
- LOCATION: Der Speicherort der Datenbank.
- BACKUP_ID: Die ID einer Sicherung. Ich können die ID jeder Sicherung aufrufen, wenn Sie alle Sicherungen auflisten.
Firebase CLI
Führen Sie den Befehlfirebase firestore:backups:get
aus:
firebase firestore:backups:get BACKUPErsetzen Sie dabei Folgendes: <ph type="x-smartling-placeholder">
- </ph>
- BACKUP: Der vollständige Ressourcenname einer Sicherung. Sie können den Namen jeder Sicherung aufrufen, wenn Sie alle Sicherungen auflisten.
Sicherung löschen
gcloud
Führen Sie den Befehlgcloud firestore backups delete
aus:
gcloud firestore backups delete \ --location=LOCATION \ --backup=BACKUP_IDErsetzen Sie dabei Folgendes: <ph type="x-smartling-placeholder">
- </ph>
- LOCATION: Der Speicherort der Datenbank.
- BACKUP_ID: Die ID einer Sicherung. Ich können die ID jeder Sicherung aufrufen, wenn Sie alle Sicherungen auflisten.
Firebase CLI
Führen Sie den Befehlfirebase firestore:backups:delete
aus:
firebase firestore:backups:delete \ BACKUPErsetzen Sie dabei Folgendes: <ph type="x-smartling-placeholder">
- </ph>
- BACKUP: Der vollständige Ressourcenname einer Sicherung. Sie können den Namen jeder Sicherung aufrufen wenn Sie alle Sicherungen auflisten.
Daten aus einer Datenbanksicherung wiederherstellen
Bei einem Wiederherstellungsvorgang werden die Daten aus einer Sicherung in einen neuen Datastore-Modus geschrieben. Datenbank.
Verwenden Sie eine der folgenden Methoden, um einen Wiederherstellungsvorgang zu starten:
gcloud
Führen Sie den Befehlgcloud firestore databases restore
aus:
gcloud firestore databases restore \ --source-backup=projects/PROJECT_ID/locations/LOCATION/backups/BACKUP_ID \ --destination-database='DATABASE_ID'Ersetzen Sie dabei Folgendes: <ph type="x-smartling-placeholder">
- </ph>
- PROJECT_ID: Ihre Projekt-ID.
- LOCATION: Der Speicherort der Datenbanksicherung und der Speicherort der neuen Datenbank, die für die wiederhergestellten Daten erstellt wurde.
- BACKUP_ID: Die ID einer Sicherung. Sie können die ID jeder Sicherung aufrufen, wenn Sie alle Sicherungen auflisten.
- DATABASE_ID: Eine Datenbank-ID für die neue Datenbank. Sie können keine Datenbank-ID verwenden, die bereits verwendet wird.
metadata
, name
und response
:
metadata: '@type': type.googleapis.com/google.firestore.admin.v1.RestoreDatabaseMetadata backup: projects/PROJECT_ID/locations/LOCATION/backups/BACKUP_ID database: projects/PROJECT_ID/databases/DATABASE_ID operationState: PROCESSING progressPercentage: completedWork: '20' estimatedWork: '100' startTime: '2023-12-06T14:20:17.398325Z' name: projects/PROJECT_ID/databases/DATABASE_ID/operations/operation_uuid response: '@type': type.googleapis.com/google.firestore.admin.v1.Database createTime: '2023-12-06T14:20:17.398325Z' name: projects/PROJECT_ID/databases/DATABASE_ID ...Das Feld
metadata
enthält eine progressPercentage
-Komponente, die den geschätzten bisherigen Fortschritt der Wiederherstellung angibt, sowie einen operationState
, der den Gesamtstatus der Wiederherstellung angibt.
Verwenden Sie gcloud firestore operations list
, um diese Informationen noch einmal abzurufen:
gcloud firestore operations list --database=DATABASE_IDoder mithilfe des Felds
name
aus der oben beschriebenen Ausgabe mit gcloud firestore operations describe
:
gcloud firestore operations describe OPERATION_NAME
Firebase CLI
Führen Sie den Befehlfirebase firestore:databases:restore
aus:
firebase firestore:databases:restore \ --backup 'BACKUP' \ --database 'DATABASE_ID'Ersetzen Sie dabei Folgendes: <ph type="x-smartling-placeholder">
- </ph>
- BACKUP: Der vollständige Ressourcenname einer Sicherung. Sie können den Namen jeder Sicherung aufrufen, wenn Sie alle Sicherungen auflisten.
- DATABASE_ID: Eine Datenbank-ID für die neue Datenbank. Sie können keine Datenbank-ID verwenden, die bereits verwendet wird.