| Dotyczy wersji Firestore Standard i Firestore Enterprise. |
Na tej stronie dowiesz się, jak korzystać z funkcji zaplanowanych kopii zapasowych Cloud Firestore. Używaj kopii zapasowych, aby chronić dane przed uszkodzeniem na poziomie aplikacji lub przypadkowym usunięciem.
Kopie zapasowe umożliwiają konfigurowanie harmonogramów tworzenia kopii zapasowych, aby codziennie lub co tydzień tworzyć kopie zapasowe określonej bazy danych. Następnie możesz użyć tych kopii zapasowych, aby przywrócić dane do nowej bazy danych.
Informacje o kopiach zapasowych
Kopia zapasowa to spójna kopia bazy danych z określonego momentu. Kopia zapasowa zawiera wszystkie dane i konfiguracje indeksów z danego momentu.
Kopia zapasowa nie zawiera zasad dotyczących czasu życia bazy danych. Kopia zapasowa znajduje się w tej samej lokalizacji co źródłowa baza danych.Kopie zapasowe mają konfigurowalny okres przechowywania i są przechowywane do momentu zakończenia tego okresu lub do momentu usunięcia kopii zapasowej. Usunięcie źródłowej bazy danych nie powoduje automatycznego usunięcia powiązanych kopii zapasowych.
Cloud Firestore przechowuje metadane związane z kopiami zapasowymi i harmonogramami tworzenia kopii zapasowych powiązanymi z bazą danych. Cloud Firestore przechowuje te metadane, dopóki wszystkie kopie zapasowe bazy danych nie wygasną lub nie zostaną usunięte.
Tworzenie i przechowywanie kopii zapasowych nie wpływa na wydajność odczytów ani zapisów w aktywnej bazie danych.
Koszty
Jeśli korzystasz z kopii zapasowych, opłaty są naliczane za:
- Ilość miejsca na dane używanego przez każdą kopię zapasową.
- Opłaty za operację przywracania są naliczane w zależności od rozmiaru kopii zapasowej.
Więcej informacji i dokładne stawki znajdziesz na stronie Ceny.
Zanim zaczniesz
Ta funkcja wymaga abonamentu Blaze.Wymagane role
Aby uzyskać uprawnienia niezbędne do zarządzania kopiami zapasowymi i harmonogramami tworzenia kopii zapasowych, poproś administratora o przyznanie Ci co najmniej 1 z tych ról Identity and Access Management:
roles/datastore.owner: pełny dostęp do bazy danych Cloud Firestoreroles/datastore.backupsAdmin: uprawnienia do odczytu i zapisu kopii zapasowych.roles/datastore.backupsViewer: dostęp do odczytu kopii zapasowychroles/datastore.backupSchedulesAdmin: uprawnienia do odczytu i zapisu harmonogramów tworzenia kopii zapasowychroles/datastore.backupSchedulesViewer: uprawnienia do odczytu harmonogramów tworzenia kopii zapasowychroles/datastore.restoreAdmin: uprawnienia do inicjowania operacji przywracania.
Tworzenie harmonogramów tworzenia kopii zapasowych i zarządzanie nimi
Poniższe przykłady pokazują, jak skonfigurować harmonogram tworzenia kopii zapasowych. W przypadku każdej bazy danych możesz skonfigurować maksymalnie 1 harmonogram codziennego tworzenia kopii zapasowych i maksymalnie 1 harmonogram cotygodniowego tworzenia kopii zapasowych. Nie możesz skonfigurować wielu harmonogramów cotygodniowych kopii zapasowych na różne dni tygodnia.
Nie możesz skonfigurować dokładnej godziny tworzenia kopii zapasowej. Kopie zapasowe są tworzone o różnych porach każdego dnia. W przypadku harmonogramów cotygodniowych kopii zapasowych możesz skonfigurować dzień tygodnia, w którym wykonywana będzie kopia zapasowa.
Utwórz harmonogram tworzenia kopii zapasowych
Aby utworzyć harmonogram tworzenia kopii zapasowych, użyj jednego z tych narzędzi.
Tworzenie harmonogramu codziennego tworzenia kopii zapasowych
Konsola Google Cloud
W konsoli Google Cloud otwórz stronę Bazy danych.
- Na liście baz danych znajdź wiersz bazy danych. W kolumnie Zaplanowane kopie zapasowe kliknij Wyświetl kopie zapasowe lub Edytuj ustawienia, w zależności od tego, czy istnieje harmonogram tworzenia kopii zapasowych.
- Kliknij Edytuj, aby edytować ustawienia odtwarzania awaryjnego.
- Zaznacz pole wyboru Codziennie, ustaw okres przechowywania, a następnie kliknij Zapisz.
wiersz poleceń Firebase
Aby utworzyć harmonogram tworzenia kopii zapasowych bazy danych, użyj poleceniafirebase firestore:databases:backups:schedules:create.
Aby utworzyć harmonogram codziennego tworzenia kopii zapasowych, ustaw flagę --recurrence na DAILY:
firebase firestore:backups:schedules:create \ --database 'DATABASE_ID' \ --recurrence 'DAILY' \ --retention RETENTION_PERIOD
Zastąp następujące elementy:
- DATABASE_ID: identyfikator bazy danych, której kopię zapasową chcesz utworzyć. W przypadku domyślnej bazy danych ustaw wartość
'(default)'. - RETENTION_PERIOD: ustaw wartość do 14 tygodni (
14w).
Terraform
Aby utworzyć harmonogram codziennego tworzenia kopii zapasowych, utwórz zasóbgoogle_firestore_backup_schedule.
resource "google_firestore_backup_schedule" "daily-backup" { project = PROJECT_ID database = DATABASE_ID retention = RETENTION_PERIOD_SECONDS daily_recurrence {} }
Zastąp następujące elementy:
- PROJECT_ID: identyfikator projektu.
- DATABASE_ID: identyfikator bazy danych, której kopię zapasową chcesz utworzyć. W przypadku domyślnej bazy danych ustaw wartość
'(default)'.
Możesz też użyć odwołania do zasobu do zasobu Terraform typu - RETENTION_PERIOD_SECONDS: ustaw wartość w sekundach, a po niej dodaj „s”. Maksymalna wartość to
8467200s(14 tygodni).
google_firestore_database.
Tworzenie tygodniowego harmonogramu tworzenia kopii zapasowych
Konsola Google Cloud
W konsoli Google Cloud otwórz stronę Bazy danych.
- Na liście baz danych znajdź wiersz bazy danych. W kolumnie Zaplanowane kopie zapasowe kliknij Wyświetl kopie zapasowe lub Edytuj ustawienia, w zależności od tego, czy istnieje harmonogram tworzenia kopii zapasowych.
- Kliknij Edytuj, aby edytować ustawienia odtwarzania awaryjnego.
- Zaznacz pole wyboru Co tydzień, wybierz dzień tworzenia kopii zapasowej, ustaw okres przechowywania, a następnie kliknij Zapisz.
wiersz poleceń Firebase
Aby utworzyć harmonogram cotygodniowego tworzenia kopii zapasowych, ustaw flagę--recurrence na WEEKLY i wybierz --day-of-week:
firebase firestore:backups:schedules:create \ --database 'DATABASE_ID' \ --recurrence 'WEEKLY' \ --retention RETENTION_PERIOD --day-of-week DAY
- DATABASE_ID: identyfikator bazy danych, której kopię zapasową chcesz utworzyć. W przypadku domyślnej bazy danych ustaw wartość
'(default)'. - RETENTION_PERIOD: ustaw wartość do 14 tygodni (
14w). - DAY: dzień tygodnia, w którym wykonywana będzie kopia zapasowa. Ustaw jedną z tych wartości:
SUNDAY– niedzielaMONDAYna poniedziałekTUESDAYwe wtorekWEDNESDAY– środaTHURSDAYw przypadku czwartkuFRIDAY– piątekSATURDAY– sobota,
Terraform
Aby utworzyć tygodniowy harmonogram tworzenia kopii zapasowych, utwórz zasóbgoogle_firestore_backup_schedule.
resource "google_firestore_backup_schedule" "weekly-backup" { project = PROJECT_ID database = DATABASE_ID retention = RETENTION_PERIOD_SECONDS weekly_recurrence { day = DAY } }
Zastąp następujące elementy:
- PROJECT_ID: identyfikator projektu.
- DATABASE_ID: identyfikator bazy danych, której kopię zapasową chcesz utworzyć. W przypadku domyślnej bazy danych ustaw wartość
'(default)'.
Możesz też użyć odwołania do zasobu do zasobu Terraform typu - RETENTION_PERIOD_SECONDS: ustaw wartość w sekundach, a po niej dodaj „s”. Maksymalna wartość to
8467200s(14 tygodni). - DAY: dzień tygodnia, w którym wykonywana będzie kopia zapasowa. Ustaw jedną z tych wartości:
SUNDAY– niedzielaMONDAYna poniedziałekTUESDAYwe wtorekWEDNESDAY– środaTHURSDAYw przypadku czwartkuFRIDAY– piątekSATURDAY– sobota,
google_firestore_database.
Wyświetlanie listy harmonogramów tworzenia kopii zapasowych
Aby wyświetlić listę wszystkich harmonogramów tworzenia kopii zapasowych bazy danych, użyj jednej z tych metod:
Konsola Google Cloud
W konsoli Google Cloud otwórz stronę Bazy danych.
- Na liście baz danych znajdź wiersz bazy danych. W kolumnie Zaplanowane kopie zapasowe kliknij Wyświetl kopie zapasowe lub Edytuj ustawienia, w zależności od tego, czy istnieje harmonogram tworzenia kopii zapasowych.
- Otworzy się strona Odtwarzanie awaryjne. Na tej stronie opisano harmonogramy tworzenia kopii zapasowych i wymieniono dostępne kopie zapasowe.
wiersz poleceń Firebase
Użyj poleceniafirebase firestore:backups:schedules:list.
firebase firestore:backups:schedules:list \ --database 'DATABASE_ID'
'(default)'.
Opisz harmonogram tworzenia kopii zapasowych
Aby pobrać informacje o harmonogramie tworzenia kopii zapasowych, użyj jednej z tych metod:
Konsola Google Cloud
W konsoli Google Cloud otwórz stronę Bazy danych.
- Na liście baz danych znajdź wiersz bazy danych. W kolumnie Zaplanowane kopie zapasowe kliknij Wyświetl kopie zapasowe lub Edytuj ustawienia, w zależności od tego, czy istnieje harmonogram tworzenia kopii zapasowych.
- Otworzy się strona Odtwarzanie awaryjne. Na tej stronie opisano harmonogramy tworzenia kopii zapasowych i wymieniono dostępne kopie zapasowe.
gcloud
Użyj poleceniagcloud firestore backups schedules describe:
gcloud firestore backups schedules describe \ --database='DATABASE_ID' \ --backup-schedule=BACKUP_SCHEDULE_ID
- DATABASE_ID: identyfikator bazy danych, której kopię zapasową chcesz utworzyć. W przypadku domyślnej bazy danych ustaw wartość
'(default)'. - BACKUP_SCHEDULE_ID: identyfikator harmonogramu tworzenia kopii zapasowych. Identyfikator każdego harmonogramu tworzenia kopii zapasowych możesz wyświetlić, gdy wyświetlisz listę wszystkich harmonogramów tworzenia kopii zapasowych.
Aktualizowanie harmonogramu tworzenia kopii zapasowych
Aby zaktualizować okres przechowywania harmonogramu tworzenia kopii zapasowych, użyj jednej z tych metod:
Konsola Google Cloud
W konsoli Google Cloud otwórz stronę Bazy danych.
- Na liście baz danych znajdź wiersz bazy danych. W kolumnie Zaplanowane kopie zapasowe kliknij Wyświetl kopie zapasowe lub Edytuj ustawienia.
- Kliknij Edytuj, aby edytować ustawienia odtwarzania awaryjnego.
- Zmień ustawienia harmonogramu tworzenia kopii zapasowych, a następnie kliknij Zapisz.
wiersz poleceń Firebase
Użyj poleceniafirebase firestore:backups:schedules:update:
firebase firestore:backups:schedules:update \ BACKUP_SCHEDULE \ --retention RETENTION_PERIOD
- BACKUP_SCHEDULE: pełna nazwa zasobu harmonogramu tworzenia kopii zapasowych. Nazwę każdego harmonogramu tworzenia kopii zapasowych możesz wyświetlić, gdy wyświetlisz listę wszystkich harmonogramów tworzenia kopii zapasowych.
- RETENTION_PERIOD: ustaw wartość do 14 tygodni (
14w).
Możesz zaktualizować okres przechowywania harmonogramu tworzenia kopii zapasowych, ale nie możesz zaktualizować jego częstotliwości. Jeśli potrzebujesz harmonogramu tworzenia kopii zapasowych z inną częstotliwością, usuń stary harmonogram, jeśli nie jest już potrzebny, i utwórz nowy z preferowaną częstotliwością.
Usuwanie harmonogramu tworzenia kopii zapasowych
Aby usunąć harmonogram tworzenia kopii zapasowych, użyj jednej z tych metod:
Konsola Google Cloud
W konsoli Google Cloud otwórz stronę Bazy danych.
- Na liście baz danych znajdź wiersz bazy danych. W kolumnie Zaplanowane kopie zapasowe kliknij Wyświetl kopie zapasowe lub Edytuj ustawienia, w zależności od tego, czy istnieje harmonogram tworzenia kopii zapasowych.
- Kliknij Edytuj, aby edytować ustawienia odtwarzania awaryjnego.
- Zmień ustawienia harmonogramu tworzenia kopii zapasowych, a następnie kliknij Zapisz.
wiersz poleceń Firebase
Użyj poleceniafirebase firestore:backups:schedules:delete:
firebase firestore:backups:schedules:delete \ BACKUP_SCHEDULE
- BACKUP_SCHEDULE: pełna nazwa zasobu harmonogramu tworzenia kopii zapasowych. Nazwę każdego harmonogramu tworzenia kopii zapasowych możesz wyświetlić, gdy wyświetlisz listę wszystkich harmonogramów tworzenia kopii zapasowych.
Pamiętaj, że usunięcie harmonogramu tworzenia kopii zapasowych nie spowoduje usunięcia kopii zapasowych już utworzonych według tego harmonogramu. Możesz poczekać, aż wygasną po upływie okresu przechowywania, lub usunąć je ręcznie. Aby dowiedzieć się, jak to zrobić, przeczytaj artykuł o usuwaniu kopii zapasowej.
Zarządzanie kopiami zapasowymi
Wyświetlenie kopii zapasowych
Aby wyświetlić listę dostępnych kopii zapasowych, użyj jednej z tych metod:
Konsola Google Cloud
W konsoli Google Cloud otwórz stronę Bazy danych.
- Na liście baz danych znajdź wiersz bazy danych. W kolumnie Zaplanowane kopie zapasowe kliknij Wyświetl kopie zapasowe lub Edytuj ustawienia, w zależności od tego, czy istnieje harmonogram tworzenia kopii zapasowych.
- Kliknij Edytuj, aby edytować ustawienia odtwarzania awaryjnego.
- Zmień ustawienia harmonogramu tworzenia kopii zapasowych, a następnie kliknij Zapisz.
wiersz poleceń Firebase
Użyj poleceniafirebase firestore:backups:list:
firebase firestore:backups:list
--location:
firebase firestore:backups:list \ --location=LOCATION
LOCATION nazwą lokalizacji Cloud Firestore.
Opisz kopię zapasową
Aby wyświetlić szczegóły kopii zapasowej, użyj jednej z tych metod:
Konsola Google Cloud
W konsoli Google Cloud otwórz stronę Bazy danych.
- Na liście baz danych znajdź wiersz bazy danych. W kolumnie Zaplanowane kopie zapasowe kliknij Wyświetl kopie zapasowe lub Edytuj ustawienia, w zależności od tego, czy istnieje harmonogram tworzenia kopii zapasowych.
- Otworzy się strona Odtwarzanie awaryjne. Na tej stronie opisano harmonogramy tworzenia kopii zapasowych i wymieniono dostępne kopie zapasowe.
wiersz poleceń Firebase
Użyj poleceniafirebase firestore:backups:get:
firebase firestore:backups:get BACKUP
- BACKUP: pełna nazwa zasobu kopii zapasowej. Nazwę każdej kopii zapasowej możesz zobaczyć, gdy wyświetlisz listę wszystkich kopii zapasowych.
Usuń kopię zapasową
Aby usunąć kopię zapasową, użyj jednej z tych metod.
Konsola Google Cloud
W konsoli Google Cloud otwórz stronę Bazy danych.
- Na liście baz danych znajdź wiersz bazy danych. W kolumnie Zaplanowane kopie zapasowe kliknij Wyświetl kopie zapasowe lub Edytuj ustawienia, w zależności od tego, czy istnieje harmonogram tworzenia kopii zapasowych. Otworzy się strona Odtwarzanie awaryjne. Na tej stronie opisano harmonogramy tworzenia kopii zapasowych i wymieniono dostępne kopie zapasowe.
- W tabeli Kopie zapasowe znajdź wiersz kopii zapasowej i w kolumnie Działania kliknij Wyświetl więcej(). Kliknij Usuń.
- Potwierdź działanie w polu tekstowym i kliknij Usuń.
wiersz poleceń Firebase
Użyj poleceniafirebase firestore:backups:delete:
firebase firestore:backups:delete \ BACKUP
- BACKUP: pełna nazwa zasobu kopii zapasowej. Nazwę każdej kopii zapasowej możesz zobaczyć, gdy wyświetlisz listę wszystkich kopii zapasowych.
Przywracanie danych z kopii zapasowej bazy danych
Operacja przywracania zapisuje dane z kopii zapasowej w nowej bazie danych Cloud Firestore.
Aby rozpocząć operację przywracania, użyj jednej z tych metod:
Konsola Google Cloud
W konsoli Google Cloud otwórz stronę Bazy danych.
- Na liście baz danych znajdź wiersz bazy danych. W kolumnie Zaplanowane kopie zapasowe kliknij Wyświetl kopie zapasowe lub Edytuj ustawienia, w zależności od tego, czy istnieje harmonogram tworzenia kopii zapasowych. Otworzy się strona Odtwarzanie awaryjne. Na tej stronie opisano harmonogramy tworzenia kopii zapasowych i wymieniono dostępne kopie zapasowe.
- W tabeli Kopie zapasowe znajdź wiersz kopii zapasowej i w kolumnie Działania kliknij Wyświetl więcej(). Kliknij Przywróć za pomocą Cloud Shell.
-
Otworzy się panel Cloud Shell z poleceniem gcloud CLI, które umożliwia przywrócenie danych z wybranej kopii zapasowej. Zastąp ID_OF_NEW_DATABASE identyfikatorem bazy danych i uruchom polecenie.
Uruchomienie polecenia zwraca odpowiedź z dodatkowymi informacjami o operacji. Baza danych wkrótce pojawi się na liście baz danych. Operacja przywracania może trochę potrwać i musi się zakończyć, zanim baza danych będzie dostępna.
wiersz poleceń Firebase
Użyj poleceniafirebase firestore:databases:restore:
firebase firestore:databases:restore \ --backup 'BACKUP' \ --database 'DATABASE_ID'
- BACKUP: pełna nazwa zasobu kopii zapasowej. Nazwę każdej kopii zapasowej możesz zobaczyć, gdy wyświetlisz listę wszystkich kopii zapasowych.
- DATABASE_ID: identyfikator nowej bazy danych. Nie możesz użyć identyfikatora bazy danych, który jest już używany.
Ograniczenia
Operacja przywracania nie przywraca danych wyszukiwania App Engine ani obiektów blob z bazy danych (default). Te dane są prawidłowe tylko w przypadku bazy danych (default) i nie będą przydatne, jeśli przywrócisz dane z bazy danych (default) do bazy danych, która nie obsługuje takich danych, dlatego są wykluczone z kopii zapasowych.
Co zrobić po przywróceniu
Po zakończeniu przywracania wykonaj te czynności:
Sprawdź, czy do nowej bazy danych są stosowane odpowiednie ustawienia uprawnień.
Jeśli wcześniej używano zasad TTL, zastosuj je ponownie w nowej bazie danych. Zasady TTL nie są uwzględniane w kopiach zapasowych i nie są automatycznie stosowane do przywróconych baz danych.