Przywracanie na miejscu

Z tej strony dowiesz się, jak przywrócić dane z kopii zapasowej do bazy danych o takiej samej nazwie jak źródłowa baza danych kopii zapasowej. Zanim przeczytasz tę stronę, zapoznaj się z informacjami o tworzeniu kopii zapasowych i przywracaniu danych.

Przywracanie na miejscu

Przywracanie na miejscu umożliwia przywrócenie bazy danych z kopii zapasowej do źródłowej bazy danych, która utworzyła kopię zapasową, podczas gdy oryginalna baza danych nadal istnieje. Przywracanie na miejscu pomaga uniknąć przekierowywania ruchu lub tworzenia bazy danych o innej nazwie.

Operacja przywracania musi używać docelowej bazy danych, która jeszcze nie istnieje. Możesz jednak zasymulować przywracanie na miejscu, usuwając źródłową bazę danych, a następnie przywracając ją z kopii zapasowej do nowej bazy danych o takiej samej nazwie jak źródłowa baza danych.

Przeprowadzanie przywracania na miejscu

Aby przeprowadzić przywracanie na miejscu:

  1. Określ kopię zapasową, której chcesz użyć do operacji przywracania.
  2. Usuń istniejącą bazę danych.
  3. Aby dokończyć operację przywracania, użyj kopii zapasowej i identyfikatora bazy danych usuniętej bazy danych.
Uwaga: jeśli Twoja aplikacja korzysta z biblioteki klienta Cloud Firestore w trybie natywnym , a klienci używają pamięci podręcznej offline, przywracanie na miejscu może spowodować opróżnienie zapisów w przywróconej bazie danych zamiast ich odrzucenia. Taka sytuacja może wystąpić, jeśli klient połączony z usuniętą bazą danych przejdzie w tryb offline, a w tym czasie w pamięci podręcznej będą gromadzić się zapisy w momencie, gdy wykonujesz przywracanie na miejscu.

Zanim zaczniesz

Zanim rozpoczniesz proces przywracania na miejscu, wykonaj te czynności.

Pobierz i skopiuj konfigurację indeksu bazy danych. Użyj konfiguracji indeksu, aby ponownie utworzyć indeksy po zakończeniu operacji przywracania na miejscu. Aby pobrać konfigurację indeksu bazy danych, użyj tych poleceń:

  • Aby pobrać listę indeksów złożonych, użyj polecenia gcloud firestore indexes composite list:

        gcloud firestore indexes composite list --database=DATABASE_ID
    

    Zastąp DATABASE_ID identyfikatorem bazy danych.

  • Aby pobrać listę wykluczeń indeksu pojedynczego pola (wbudowanego), użyj polecenia gcloud firestore indexes fields list :

        gcloud firestore indexes fields list --database=DATABASE_ID
    

Przeprowadzanie przywracania na miejscu

Aby przeprowadzić operację przywracania na miejscu: Ten proces wymaga przestoju między momentem usunięcia bazy danych a zakończeniem operacji przywracania.

Po rozpoczęciu operacji przywracania nie można jej anulować. Musisz poczekać, aż się zakończy. Operacja przywracania natychmiast zajmuje identyfikator bazy danych użyty w operacji.

  1. Aby określić kopię zapasową, której chcesz użyć do operacji przywracania, użyj polecenia gcloud firestore backups list i zanotuj nazwę zasobu. Nazwa zasobu ma taki format:

        projects/PROJECT_ID/locations/LOCATION/backups/BACKUP_ID
    
  2. Aby usunąć istniejącą bazę danych, użyj polecenia gcloud firestore databases delete:

        gcloud firestore databases delete --database='DATABASE_ID'
    

    Zastąp DATABASE_ID identyfikatorem bazy danych.

  3. Odczekaj co najmniej 5 minut od usunięcia bazy danych, aby identyfikator bazy danych był ponownie dostępny. Rozpocznij operację przywracania za pomocą gcloud firestore databases restore polecenia:

    gcloud firestore databases restore \
    --source-backup=projects/PROJECT_ID/locations/LOCATION/backups/BACKUP_ID \
    --destination-database='DATABASE_ID'
    

    Zastąp DATABASE_ID identyfikatorem bazy danych.

Co dalej?