Użytkownicy planu Blaze mogą skonfigurować automatyczne tworzenie kopii zapasowych w Firebase Realtime Database for . Jest to funkcja samoobsługowa, która umożliwia codzienne tworzenie kopii zapasowych danych aplikacji bazy danych i Security Rules w formacie JSON w zasobniku Cloud Storage .
Konfiguracja
W konsoli Firebase otwórz Bazy danych i miejsce na dane > Baza danych czasu rzeczywistego.
Na karcie Kopie zapasowe skonfiguruj automatyczne tworzenie kopii zapasowych za pomocą procesu w konsoli.
Aby ograniczyć koszty miejsca na dane, domyślnie włączamy kompresję Gzip . Możesz też włączyć 30-dniową zasadę cyklu życia w zasobniku, aby automatycznie usuwać kopie zapasowe starsze niż 30 dni.
Stan i aktywność związaną z kopiami zapasowymi możesz sprawdzić bezpośrednio w konsoli Firebase, w której możesz też rozpocząć ręczne tworzenie kopii zapasowej. Może to być przydatne do robienia migawek w określonych odstępach czasu lub jako działanie zabezpieczające przed wprowadzeniem zmian w kodzie.
Po skonfigurowaniu zostanie utworzony nowy zasobnik Cloud Storage z uprawnieniem WRITER dla Firebase. Nie należy przechowywać w tym zasobniku danych, do których Firebase nie powinna mieć dostępu. Firebase nie będzie mieć dodatkowego dostępu do innych zasobników Cloud Storage ani do żadnych innych obszarów Google Cloud.
Przywracanie z kopii zapasowych
Aby przywrócić Firebase z kopii zapasowej, najpierw pobierz plik z Cloud Storage na dysk lokalny. Możesz to zrobić, klikając nazwę pliku w sekcji aktywności związanej z kopiami zapasowymi lub w interfejsie zasobnikaCloud Storage. Jeśli plik jest skompresowany za pomocą Gzip, najpierw zdekompresuj go.
Dane możesz zaimportować na 2 sposoby:
Opcja 1: użyj konsoli Firebase.
Otwórz kartę Bazy danych i miejsce na dane > Baza danych czasu rzeczywistego > Dane.
Kliknij Importuj JSON i wybierz plik JSON z danymi aplikacji.
Opcja 2: wyślij żądanie CURL z wiersza poleceń.
Pobierz tajny klucz z Firebase. Możesz go znaleźć na karcie Bazy danych i miejsce na dane > Baza danych czasu rzeczywistego > Ustawienia.
Wpisz w terminalu ten tekst, zastępując pola
DATABASE_NAMEiSECRETwłasnymi wartościami:curl 'https://<DATABASE_NAME>.firebaseio.com/.json?auth=<SECRET>&print=silent' -X PUT -d @<DATABASE_NAME>.json
Jeśli masz problemy z przywróceniem kopii zapasowej z bardzo dużej bazy danych, skontaktuj się z zespołem pomocy Firebase.
Harmonogram
Kopia zapasowa bazy danych jest przypisana do określonej godziny każdego dnia, co zapewnia równomierne obciążenie i najwyższą dostępność dla wszystkich klientów korzystających z kopii zapasowych. Ta zaplanowana kopia zapasowa zostanie utworzona niezależnie od tego, czy w ciągu dnia utworzysz ręczne kopie zapasowe.
Nazewnictwo plików
Pliki przesyłane do zasobnika Cloud Storage będą zawierać sygnaturę czasową (zgodną ze standardem ISO 8601) i będą używać tych konwencji nazewnictwa:
- Dane bazy danych:
YYYY-MM-DDTHH:MM:SSZ_<DATABASE_NAME>_data.json - Reguły bazy danych:
YYYY-MM-DDTHH:MM:SSZ_<DATABASE_NAME>_rules.json
Jeśli włączona jest kompresja Gzip, do nazw plików zostanie dodany sufiks .gz. Kopie zapasowe z określonej daty lub godziny możesz
łatwo znaleźć za pomocą Cloud Storage
wyszukiwania prefiksów.
Kompresja Gzip
Domyślnie kompresujemy pliki kopii zapasowych za pomocą kompresji Gzip, aby ograniczyć koszty miejsca na dane i skrócić czas przesyłania. Rozmiar skompresowanego pliku zależy od charakterystyki danych w bazie danych, ale typowe bazy danych mogą zostać zmniejszone do ⅓ ich pierwotnego rozmiaru, co pozwala zaoszczędzić miejsce na dane i skrócić czas przesyłania kopii zapasowych.
Aby zdekompresować pliki JSON skompresowane za pomocą Gzip, użyj polecenia w wierszu poleceń z binarnym plikiem gunzip, który jest domyślnie dostarczany w systemach OS-X i większości dystrybucji Linuxa.
gunzip <DATABASE_NAME>.json.gz # Will unzip to <DATABASE_NAME>.json
30-dniowy cykl życia Storage
Oferujemy łatwy w użyciu przełącznik konfiguracji, który umożliwia włączenie domyślnej 30-dniowej zasady cyklu życia obiektów w zasobniku Cloud Storage. Gdy ta opcja jest włączona, pliki w zasobniku są automatycznie usuwane po 30 dniach. Pomaga to ograniczyć liczbę niechcianych starych kopii zapasowych, co pozwala zaoszczędzić miejsce na dane i utrzymać porządek w katalogu zasobnika. Jeśli umieścisz inne pliki w zasobniku automatycznych kopii zapasowych, zostaną one usunięte zgodnie z tą samą zasadą.
Koszty
Funkcję tworzenia kopii zapasowych można włączyć w projektach w planie Blaze bez dodatkowych opłat. Jednak za pliki kopii zapasowych umieszczone w Twoim Cloud Storage zasobniku zostaną naliczone standardowe opłaty. Aby ograniczyć koszty miejsca na dane , możesz włączyć kompresję Gzip i 30-dniowy cykl życia Storage.