Eksportowanie i importowanie danych

Możesz korzystać z usługi zarządzanego eksportu i importu Cloud Firestore, aby: odzyskiwanie danych po przypadkowym usunięciu i eksportowanie ich do użytku offline, o przetwarzaniu danych. Możesz wyeksportować wszystkie dokumenty lub tylko określone kolekcje. Podobnie, możesz zaimportować wszystkie dane z eksportu lub tylko określone kolekcje. Dane wyeksportowane z jednej bazy danych Cloud Firestore można zaimportować do innej Baza danych Cloud Firestore. Możesz też wczytać Dane Cloud Firestore są eksportowane do: BigQuery.

Na tej stronie dowiesz się, jak eksportować i importować dokumenty Cloud Firestore za pomocą usługi zarządzanego eksportu i importu oraz Cloud Storage. Usługa zarządzanego eksportu i importu Cloud Firestore jest dostępna za pomocą narzędzia wiersza poleceń gcloud oraz interfejsu Cloud FirestoreAPI (REST, RPC).

Zanim zaczniesz

Aby móc korzystać z usługi zarządzanego eksportu i importu, musisz wykonać następujące zadania:

  1. Włącz płatności w projekcie Google Cloud. Funkcji eksportowania i importowania mogą używać tylko projekty Google Cloud z włączonymi płatnościami.
  2. Utwórz zasobnik Cloud Storage dla projektu w miejscu zbliżonym do miejsca przechowywania bazy danych Cloud Firestore. Nie można użyć Żądający płaci zasobnik za operacje eksportu i importu.
  3. Sprawdź, czy Twoje konto ma wymagane uprawnienia Cloud Firestore i Cloud Storage. Jeśli jesteś właścicielem projektu, ma odpowiednie uprawnienia. W przeciwnym razie: role dają niezbędne uprawnienia do operacji eksportu i importu, w celu uzyskania dostępu do usługi Cloud Storage:

    • Rola Cloud Firestore: Owner, Cloud Datastore Owner lub Cloud Datastore Import Export Admin
    • Role (Cloud Storage): Owner lub Storage Admin

Uprawnienia agenta usługi

Operacje eksportu i importu wykorzystują agenta usługi Cloud Firestore do: autoryzuj Cloud Storage operacje. Agent usługi Cloud Firestore zgodnie z następującą konwencją nazewnictwa:

Agent usługi Cloud Firestore
service-PROJECT_NUMBER@gcp-sa-firestore.iam.gserviceaccount.com

Więcej informacji o agentach usługi znajdziesz w artykule Agenty usługi.

Agent usługi Cloud Firestore wymaga dostępu do Zasobnik Cloud Storage został użyty w operacji eksportu lub importu. Jeśli Zasobnik Cloud Storage jest w tym samym projekcie co Cloud Firestore do bazy danych, agent usługi Cloud Firestore będzie miał dostęp do .

Jeśli zasobnik Cloud Storage znajduje się w innym projekcie, musi przyznać agentowi usługi Cloud Firestore dostęp do funkcji Cloud Storage zasobnika.

Przypisz role do agenta usługi

Możesz użyć narzędzia wiersza poleceń gsutil, aby: przypisać mu jedną z poniższych ról. Aby na przykład przypisać rolę Administrator miejsca na dane do agenta usługi Cloud Firestore, uruchom to polecenie:

gsutil iam ch serviceAccount:service-PROJECT_NUMBER@gcp-sa-firestore.iam.gserviceaccount.com:roles/storage.admin \
    gs://[BUCKET_NAME]

Zastąp PROJECT_NUMBER numerem projektu, który służy do nazwania agenta usługi Cloud Firestore. Aby wyświetlić nazwa agenta usługi – przeczytaj artykuł Wyświetlanie nazwy agenta usługi.

Ewentualnie możesz przypisać tę rolę za pomocą konsoli Google Cloud.

Wyświetl nazwę agenta usługi

Możesz wyświetlić konto używane do autoryzacji operacji importowania i eksportowania ze strony Import/eksport w konsoli Google Cloud. Możesz też sprawdź, czy Twoja baza danych korzysta z interfejsu API Cloud Firestore agenta usługi lub starsze konto usługi App Engine.

  1. Wyświetl konto autoryzacji obok Etykieta Zadania importu/eksportu uruchamiane jako.

Agent usługi wymaga roli Storage Admin w: Cloud Storage zasobnika, którego chcesz użyć w operacji eksportu lub importu.

Skonfiguruj usługę gcloud w projekcie

Operacje importu i eksportu możesz zainicjować w konsoli Google Cloud lub narzędzia wiersza poleceń gcloud. Aby użyć narzędzia gcloud, skonfiguruj narzędzie wiersza poleceń i połącz się z nim na jeden z tych sposobów:

Eksportuj dane

Operacja eksportu powoduje skopiowanie dokumentów z bazy danych do zbioru plików w Zasobnik Cloud Storage. Pamiętaj, że eksport nie jest dokładnym wykonaniem zrzutu bazy danych w momencie rozpoczęcia eksportu. Eksport może zawierać zmiany wprowadzone podczas wykonywania operacji.

Eksportuj wszystkie dokumenty

Google Cloud Console

  1. W konsoli Google Cloud otwórz stronę Bazy danych.

    Otwórz Bazy danych

  2. Wybierz wymaganą bazę danych z listy baz danych.

  3. W menu nawigacyjnym kliknij Import/Export (Importuj/eksportuj).

  4. Kliknij Eksportuj.

  5. Kliknij opcję Wyeksportuj całą bazę danych.

  6. W sekcji Wybierz miejsce docelowe wpisz nazwę zasobnika Cloud Storage. lub wybierz zasobnik za pomocą przycisku Przeglądaj.

  7. Kliknij Eksportuj.

Konsola wróci do strony Import/eksport. Jeśli operacja się rozpocznie, strona doda wpis do strony ostatnich importów i eksportów. W przypadku niepowodzenia wyświetli się komunikat o błędzie.

gcloud

Użyj polecenia firestore export, aby wyeksportować wszystkie dokumenty w bazie danych, zastępując [BUCKET_NAME] nazwą swojego Zasobnik Cloud Storage. Dodaj flagę --async, aby narzędzie gcloud nie mogło oczekiwanie na zakończenie operacji.

  gcloud firestore export gs://[BUCKET_NAME] \
  --database=[DATABASE]

Zastąp następujące elementy:

  • BUCKET_NAME: uporządkuj eksporty, dodając prefiks pliku po nazwę zasobnika, np. BUCKET_NAME/my-exports-folder/export-name. Jeśli nie podasz prefiksu pliku, zarządzany eksport danych tworzy je na podstawie bieżącej sygnatury czasowej.

  • DATABASE: nazwa bazy danych, z której chcesz wyeksportować dane dokumenty. Jako domyślnej bazy danych użyj --database='(default)'.

Po rozpoczęciu operacji eksportu zamknięcie terminala nie powoduje jej anulowania. Więcej informacji znajdziesz w sekcji Anulowanie operacji.

Eksportowanie określonych kolekcji

Google Cloud Console

  1. W konsoli Google Cloud otwórz stronę Bazy danych.

    Otwórz stronę Bazy danych

  2. Wybierz wymaganą bazę danych z listy baz danych.

  3. W menu nawigacyjnym kliknij Import/Export (Importuj/eksportuj).

  4. Kliknij Eksportuj.

  5. Kliknij opcję Eksportuj co najmniej jedną grupę kolekcji. Korzystanie z menu i wybierz co najmniej 1 grupę kolekcji.

  6. W sekcji Wybierz miejsce docelowe wpisz nazwę zasobnika Cloud Storage. lub wybierz zasobnik za pomocą przycisku Przeglądaj.

  7. Kliknij Eksportuj.

Konsola wróci do strony Import/eksport. Jeśli operacja się rozpocznie, strona doda wpis do strony ostatnich importów i eksportów. W przypadku niepowodzenia wyświetli się komunikat o błędzie.

gcloud

Aby wyeksportować określone grupy kolekcji, użyj flagi --collection-ids. Operacja eksportuje tylko grupy kolekcji o podanych identyfikatorach. Grupa kolekcji obejmuje wszystkie zbiory i podkolekcje (na dowolnej ścieżce) o określonym identyfikator kolekcji.

gcloud firestore export gs://[BUCKET_NAME] \
--collection-ids=[COLLECTION_ID_1],[COLLECTION_ID_2],[SUBCOLLECTION_ID_1] \
--database=[DATABASE]

Możesz na przykład zaprojektować kolekcję restaurants w bazie danych foo, aby zawierała kilka kolekcji podrzędnych, takich jak ratings, reviews lub outlets. Aby wyeksportować określoną kolekcję restaurants i reviews, polecenie wygląda tak: następujące:

gcloud firestore export gs://[BUCKET_NAME] \
--collection-ids=restaurants,reviews \
--database='cymbal'

Eksport z sygnatury czasowej PITR

Swoją bazę danych możesz wyeksportować do Cloud Storage z danych PTR. za pomocą polecenia gcloud firestore export. Możesz eksportować dane PITR, gdzie sygnatura czasowa to pełna minuta w ciągu ostatnich 7 dni, ale nie wcześniej niż w miesiącu: earliestVersionTime. Jeśli dane nie są już istnieje z podaną sygnaturą czasową, operacja eksportu nie powiedzie się.

Operacja eksportu PITR obsługuje wszystkie filtry, w tym eksport wszystkich dokumentów i określonych kolekcji.

  1. Wyeksportuj bazę danych, określając parametr snapshot-time do żądanej sygnatury czasowej przywracania.

    gcloud

    Aby wyeksportować bazę danych do zasobnika, uruchom to polecenie.

    gcloud firestore export gs://[BUCKET_NAME_PATH] \
        --snapshot-time=[PITR_TIMESTAMP] \
        --collection-ids=[COLLECTION_IDS] \
        --namespace-ids=[NAMESPACE_IDS]
    

    Gdzie,

    • PITR_TIMESTAMP – sygnatura czasowa PITR z dokładnością co do minuty, np. 2023-05-26T10:20:00.00Z.

    Przed wyeksportowaniem danych PITR weź pod uwagę te informacje:

    • Podaj sygnaturę czasową w dokumencie RFC 3339 . Na przykład: 2020-09-01T23:59:30.234233Z.
    • Upewnij się, że podana sygnatura czasowa to sygnatura czasowa obejmująca całą minutę w ciągu ostatnich 7 dni, ale nie wcześniej niż earliestVersionTime Jeśli w określonym miejscu nie ma już danych , pojawia się błąd.
    • Nie obciążymy Cię płatnością za nieudany eksport PITR.

Importuj dane

Po wyeksportowaniu plików w usłudze Cloud Storage możesz zaimportować w nich dokumenty pliki z powrotem do projektu lub innego projektu. Pamiętaj o tych kwestiach o operacjach importu:

  • Gdy importujesz dane, wymagane indeksy są aktualizowane przy użyciu aktualne definicje indeksów. Wyeksportowane dane nie zawierają definicji indeksów.

  • Importy nie powodują przypisania nowych identyfikatorów dokumentów. Import korzysta z identyfikatorów zarejestrowanych w w momencie eksportu. Gdy dokument jest importowany, jego identyfikator jest zarezerwowany aby zapobiec konfliktom identyfikatorów. Jeśli istnieje już dokument o tym samym identyfikatorze, parametr zastąpi istniejący dokument.

  • Jeśli importowanie nie wpłynie na dokument w bazie danych, dokument pozostanie w bazie danych po zaimportowaniu ich.

  • Operacje importu nie aktywują funkcji w Cloud Functions. Detektory zrzutów otrzymywać aktualizacje związane z operacjami importu.

  • Nazwa pliku .overall_export_metadata musi być taka sama jak nazwa elementu nadrzędnego folder:

    gs://BUCKET_NAME/OPTIONAL_NAMESPACE_PATH/PARENT_FOLDER_NAME/PARENT_FOLDER_NAME.overall_export_metadata

    Jeśli przeniesiesz lub skopiujesz pliki wyjściowe eksportu, zachowaj plik PARENT_FOLDER_NAME i .overall_export_metadata nadają plikom nazwy tak samo.

Importuj wszystkie dokumenty z eksportu

Google Cloud Console

  1. W konsoli Google Cloud otwórz stronę Bazy danych.

    Otwórz stronę Bazy danych

  2. Wybierz wymaganą bazę danych z listy baz danych.

  3. W menu nawigacyjnym kliknij Importuj/Eksportuj.

  4. Kliknij Importuj.

  5. W polu Nazwa pliku wpisz nazwę pliku .overall_export_metadata z zakończonej operacji eksportu. Aby wybrać plik, możesz użyć przycisku Przeglądaj.

  6. Kliknij Importuj.

Konsola wraca na stronę Import/eksport. Jeśli operacja się rozpocznie, strona doda wpis do strony ostatnich importów i eksportów. W przypadku niepowodzenia wyświetli się komunikat o błędzie.

gcloud

Użyj polecenia firestore import, aby zaimportować dokumenty z poprzednia operacja eksportu.

gcloud firestore import gs://[BUCKET_NAME]/[EXPORT_PREFIX]/ --database=[DATABASE]

Zastąp następujące elementy:

  • BUCKET_NAME/EXPORT_PREFIX: lokalizacja plików eksportu.

  • DATABASE: nazwa bazy danych. Jako domyślnej bazy danych użyj --database='(default)'.

Przykład:

gcloud firestore import gs://my-bucket/2017-05-25T23:54:39_76544/ --database='cymbal'

Lokalizację swoich plików eksportu możesz potwierdzić w Przeglądarka Cloud Storage w konsoli Google Cloud:

Otwórz przeglądarkę Cloud Storage

Po rozpoczęciu operacji importowania zamknięcie terminala nie powoduje anulowania więcej informacji znajdziesz w sekcji o anulowaniu operacji.

Importowanie konkretnych kolekcji

Google Cloud Console

Nie możesz wybrać określonych kolekcji w konsoli. Użyj w zamian zasady gcloud.

gcloud

Aby zaimportować określone grupy kolekcji ze zbioru plików eksportu, użyj --collection-ids. Operacja zaimportuje dane tylko grupy kolekcji o podanych identyfikatorach. Kolekcja obejmuje wszystkie kolekcje i podkolekcje (na dowolnej ścieżce) z atrybutem określony identyfikator kolekcji. Podaj nazwę bazy danych za pomocą atrybutu --database flaga. Jako domyślnej bazy danych użyj --database='(default)'.

Tylko eksport określonych grup kolekcji obsługuje import określonych grup kolekcji. Nie można zaimportować określonych kolekcji z eksportu wszystkich dokumenty.

  gcloud firestore import gs://[BUCKET_NAME]/[EXPORT_PREFIX]/ \
  --collection-ids=[COLLECTION_ID_1],[COLLECTION_ID_2],[SUBCOLLECTION_ID_1] \
  --database=[DATABASE]

Importowanie pliku eksportu PITR

Aby zaimportować wyeksportowane pliki, wykonaj czynności opisane w artykule Importowanie wszystkich dokumentów. w bazie danych. Jeśli jakikolwiek dokument znajduje się już w bazie danych, zostanie nadpisana.

zarządzanie operacjami eksportu i importu;

Po rozpoczęciu operacji eksportu lub importu Cloud Firestore przypisze i nadać operacji unikalną nazwę. Możesz użyć nazwy operacji, aby usunąć anulować lub sprawdzić stan operacji.

Nazwa działania ma prefiks projects/[PROJECT_ID]/databases/(default)/operations/, na przykład:

projects/my-project/databases/(default)/operations/ASA1MTAwNDQxNAgadGx1YWZlZAcSeWx0aGdpbi1zYm9qLW5pbWRhEgopEg

Możesz jednak pominąć ten prefiks podczas określania nazwy operacji dla describe, cancel i delete.

Wyświetlanie listy wszystkich operacji eksportu i importu

Google Cloud Console

Listę ostatnich operacji eksportu i importu możesz wyświetlić w Strona Import/Eksport w konsoli Google Cloud.

  1. W konsoli Google Cloud otwórz stronę Bazy danych.

    Otwórz Bazy danych

  2. Wybierz wymaganą bazę danych z listy baz danych.

  3. W menu nawigacyjnym kliknij Import/Export (Importuj/eksportuj).

gcloud

Użyj polecenia operations list, aby wyświetlić wszystkie uruchomione i ostatnio zakończone operacje eksportu i importu:

gcloud firestore operations list

Sprawdź stan operacji

Google Cloud Console

Stan niedawnej operacji eksportu lub importu możesz sprawdzić w Strona Import/eksport w konsoli Google Cloud.

  1. W konsoli Google Cloud otwórz stronę Bazy danych.

    Otwórz stronę Bazy danych

  2. Wybierz wymaganą bazę danych z listy baz danych.

  3. W menu nawigacyjnym kliknij Import/Export (Importuj/eksportuj).

gcloud

Używanie polecenia operations describe do pokazania stanu eksportu lub importowania.

gcloud firestore operations describe [OPERATION_NAME]

Oszacuj czas realizacji

Żądanie dotyczące stanu długo trwającej operacji zwraca wskaźniki workEstimated i workCompleted. Każdy z tych rodzajów danych jest zwracany zarówno w liczbie bajtów, jak i liczbie elementów:

  • workEstimated pokazuje szacunkową łączną liczbę bajtów i dokumentów . Cloud Firestore może pominąć ten wskaźnik, jeśli nie może dokonać szacunków.

  • workCompleted pokazuje liczbę bajtów i dokumentów przetworzonych do tej pory. Po zakończeniu operacji wartość pokazuje łączną liczbę bajtów i rzeczywistą liczbę przetworzonych dokumentów, która może być większa niż wartość workEstimated.

Aby uzyskać przybliżone oszacowanie postępu, podziel workCompleted przez workEstimated. Ten szacunki mogą być niedokładne, ponieważ zależą od opóźnionych statystyk kolekcji.

Anulowanie operacji

Google Cloud Console

Możesz anulować operację eksportu lub importu w Strona Import/eksport w konsoli Google Cloud.

  1. W konsoli Google Cloud otwórz stronę Bazy danych.

    Otwórz Bazy danych

  2. Wybierz wymaganą bazę danych z listy baz danych.

  3. W menu nawigacyjnym kliknij Import/Export (Importuj/eksportuj).

Obecnie uruchomione w tabeli Ostatnie importy i eksporty obejmuje przycisk Anuluj w kolumnie Gotowe. Kliknij Anuluj, aby zatrzymać operację. Przycisk zmieni się w Anuluj. a następnie na Anulowano, gdy operacja zostanie całkowicie zatrzymana.

gcloud

Aby zatrzymać wykonywaną operację, użyj polecenia operations cancel:

gcloud firestore operations cancel [OPERATION_NAME]

Anulowanie uruchomionej operacji nie powoduje jej cofnięcia. Eksport anulowany operacja spowoduje, że dokumenty zostaną już wyeksportowane w zadaniu Cloud Storage, a operacja zostanie anulowana w operacji importu pozostawią aktualizacje wprowadzone już w Twojej bazie danych. Nie możesz zaimportować częściowo zakończonego eksportu.

Usuwanie operacji

Użyj polecenia gcloud firestore operations delete, aby usunąć wybierz operację z listy ostatnich operacji. To polecenie nie spowoduje usunięcia wyeksportować pliki z usługi Cloud Storage.

gcloud firestore operations delete [OPERATION_NAME]

Płatności i ceny za operacje eksportu i importu

Aby używać projektu Google Cloud, musisz włączyć płatności w usłudze zarządzanego eksportu i importu.

Operacje eksportu i importu są naliczane za odczyt i zapis dokumentu według stawek podanych w Cloud Firestore cen. Operacje eksportu powodują jeden odczyt operacji na wyeksportowanym dokumencie. Operacje importu wymagają jednej operacji zapisu na Zaimportowano dokument.

Pliki wyjściowe zapisane w Cloud Storage są wliczane do kosztów przechowywania danych w Cloud Storage.

Koszty eksportu i importu nie wliczają się do wydatków . Operacje eksportu lub importu nie będą aktywować Alerty dotyczące budżetu Google Cloud do czasu zakończenia. Podobnie odczyty i zapisy wykonane podczas operacji eksportu lub importu są stosowane do limitu dziennego po zakończeniu tej operacji. Eksportowanie i importowanie nie będą miały wpływu na wykorzystanie widoczne w sekcji wykorzystania w konsoli.

Wyświetlanie kosztów eksportu i importu

Operacje eksportu i importu stosują goog-firestoremanaged:exportimport do rozliczanych operacji. Na stronie Raporty dotyczące rozliczeń usługi Google Cloud: możesz użyć tej etykiety, aby wyświetlić koszty związane z operacjami importu i eksportu:

Otwórz etykietę goog-firestoremanaged z menu filtrów.

Eksportuj do BigQuery

Dane z eksportu Cloud Firestore możesz wczytać do BigQuery, ale tylko wtedy, gdy został określony filtr collection-ids. Zobacz Wczytuję dane z Cloud Firestore eksportów.

BigQuery limit kolumn

Funkcja BigQuery nakłada limit 10 tys. kolumn na tabelę. Operacje eksportu Cloud Firestore generują tabelę BigQuery dla każdej grupy kolekcji. W tym schemacie każda unikalna nazwa pola w grupie kolekcji staje się kolumną schematu.

Jeśli schemat BigQuery grupy kolekcji przekracza 10 000 kolumn, Operacja eksportu Cloud Firestore próbuje zmieścić się w limicie kolumn traktując pola mapy jako bajty. Jeśli ta konwersja generuje dla liczby kolumn poniżej 10 000, możesz wczytać dane BigQuery, ale nie możesz wysyłać zapytań dotyczących pól podrzędnych w polach mapy. Jeśli liczba kolumn nadal przekracza 10 000, operacja eksportu nie wygeneruj schemat BigQuery dla grupy kolekcji i nie będzie można wczytać jego dane w usłudze BigQuery.

Eksportuj pliki w formacie i metadanych

Dane wyjściowe eksportu zarządzanego są zapisywane w formacie logów LevelDB.

Pliki metadanych

Operacja eksportu tworzy plik metadanych dla każdej określonej przez Ciebie grupy zbiorów. Pliki metadanych mają zwykle nazwy ALL_NAMESPACES_KIND_[COLLECTION_GROUP_ID].export_metadata

Pliki metadanych są buforami protokołów i możesz je dekodować za pomocą Kompilator protokołu protoc. Możesz na przykład zdekodować plik metadanych, aby określić grupy kolekcji. pliki eksportu zawierają:

protoc --decode_raw < export0.export_metadata

Migracja agenta usługi

Cloud Firestore używa agenta usługi Cloud Firestore do autoryzowania importu i eksportowania, zamiast korzystać z konta usługi App Engine. Agent usługi i konto usługi używają tych konwencji nazewnictwa:

Agent usługi Cloud Firestore
service-PROJECT_NUMBER@gcp-sa-firestore.iam.gserviceaccount.com

Użytkownik Cloud Firestore wcześniej używał usługi domyślnej App Engine zamiast agenta usługi Cloud Firestore. Jeśli Twoja baza danych do importowania lub eksportowania danych wciąż używa konta usługi App Engine, zalecamy wykonanie instrukcji opisanych w tej sekcji w celu przeprowadzenia migracji do agenta usługi Cloud Firestore.

App Engine konto usługi
PROJECT_ID@appspot.gserviceaccount.com

Agent usługi Cloud Firestore jest zalecany, ponieważ jest specyficzny do Cloud Firestore. Konto usługi App Engine jest współużytkowane przez więcej niż 1 usługę.

.

Wyświetl konto autoryzacji

Możesz sprawdzić, którego konta używają do autoryzacji operacje importowania i eksportowania ze strony Import/eksport w konsoli Google Cloud. Możesz też sprawdź, czy Twoja baza danych korzysta już z interfejsu Cloud Firestore .

  1. W konsoli Google Cloud otwórz stronę Bazy danych.

    Otwórz stronę Bazy danych

  2. Wybierz wymaganą bazę danych z listy baz danych.
  3. W menu nawigacyjnym kliknij Import/Export (Importuj/eksportuj).

  4. Wyświetl konto autoryzacji obok Etykieta Zadania importu/eksportu uruchamiane jako.

Jeśli Twój projekt nie korzysta z agenta usługi Cloud Firestore, można przenieść do agenta usługi Cloud Firestore za pomocą jednej z tych metod:

Pierwsza z tych technik jest preferowana, ponieważ ogranicza zasięg efektu do pojedynczego projektu Cloud Firestore. Druga metoda nie jest zalecana, ponieważ nie migruje istniejących uprawnień zbioru Cloud Storage. Zapewnia jednak zgodność z zasadami bezpieczeństwa na poziomie organizacji.

Aby przeprowadzić migrację, sprawdź i zaktualizuj uprawnienia zasobnika Cloud Storage

Proces migracji składa się z 2 etapów:

  1. Zaktualizuj uprawnienia zasobnika Cloud Storage. W następnej sekcji znajdziesz informacje na temat .
  2. Potwierdź migrację agentowi obsługi klienta Cloud Firestore.

Uprawnienia zasobnika agenta usługi

W przypadku operacji eksportu lub importu, które korzystają z zasobnika Cloud Storage w innym projekcie, musisz przyznać uprawnienia Cloud Firestore dla tego zasobnika. Na przykład operacje przenoszenia danych do innej musi mieć dostęp do zasobnika w tym projekcie. W przeciwnym razie operacje po migracji do usługi Cloud Firestore kończą się niepowodzeniem .

Przepływy pracy importowania i eksportowania, które pozostają w tym samym projekcie, nie wymagają zmiany uprawnień. Domyślnie agent usługi Cloud Firestore ma dostęp do zasobów w tym samym projekcie.

Zaktualizuj uprawnienia Cloud Storage zasobników z innych projektów, aby przyznać dostęp do service-PROJECT_NUMBER@gcp-sa-firestore.iam.gserviceaccount.com . Przypisz agentowi usługi rolę Firestore Service Agent.

Rola Firestore Service Agent przyznaje uprawnienia do odczytu i zapisu w zasośniku Cloud Storage. Jeśli musisz przyznać uprawnienia tylko do odczytu lub tylko do zapisu uprawnień, użyj rolę niestandardową.

Proces migracji opisany w następnej sekcji pomaga zidentyfikować Cloud Storage które mogą wymagać aktualizacji uprawnień.

Migracja projektu do agenta usługi Firestore

Aby przeprowadzić migrację z konta usługi App Engine do agenta usługi Cloud Firestore. Po zakończeniu migracji nie można jej cofnąć.

  1. W konsoli Google Cloud otwórz stronę Bazy danych.

    Otwórz Bazy danych

  2. Wybierz wymaganą bazę danych z listy baz danych.
  3. W menu nawigacyjnym kliknij Import/Export (Importuj/eksportuj).

  4. Jeśli Twój projekt nie został jeszcze przeniesiony do usługi Cloud Firestore pojawi się baner z opisem migracji i przycisk Sprawdź stan zasobnika. Następny krok pomoże Ci określić naprawiania potencjalnych błędów związanych z uprawnieniami.

    Kliknij Sprawdź stan zasobnika.

    Pojawi się menu z opcją zakończenia migracji i lista zasobników (Cloud Storage). Załadowanie listy może potrwać kilka minut.

    Ta lista zawiera zasobniki, które zostały ostatnio używane w operacjach importu i eksportu, ale obecnie nie udostępniają uprawnienia do zapisu w agencie usługi Cloud Firestore.

  5. Zanotuj nazwę podmiotu zabezpieczeń agenta usługi Cloud Firestore Twojego projektu. Nazwa agenta usługi jest widoczna w sekcji Etykieta Agent usługi, do której można przyznać dostęp.
  6. W przypadku dowolnego zasobnika na liście, którego będziesz używać do przyszłych operacji importowania lub eksportowania, wykonaj te czynności:

    1. W wierszu tabeli tego zasobnika kliknij Napraw. Spowoduje to otwarcie w nowej karcie strony z uprawnieniami danego zasobnika.

    2. Kliknij Dodaj.
    3. W polu Nowe podmioty zabezpieczeń wpisz nazwę Agent usługi Cloud Firestore.
    4. W polu Wybierz rolę kliknij Agenty usługi > Agent usługi Firestore.
    5. Kliknij Zapisz.
    6. Wróć na kartę ze stroną Import/eksport Cloud Firestore.
    7. Powtórz te czynności w przypadku innych zasobników na liście. Pamiętaj, aby wyświetlić wszystkich stronach listy.
  7. Kliknij Migracja do agenta usługi Firestore. Jeśli nadal mają zasobniki z nieudaną weryfikacją uprawnień, musisz potwierdzić migrację, klikając Migrate (Przenieś).

    Alert informuje o zakończeniu migracji. Migracja nie jest możliwa cofnięto.

Wyświetl stan migracji

Aby sprawdzić stan migracji projektu:

  1. W konsoli Google Cloud otwórz stronę Bazy danych.

    Otwórz Bazy danych

  2. Wybierz wymaganą bazę danych z listy baz danych.
  3. W menu nawigacyjnym kliknij Importuj/Eksportuj.

  4. Znajdź osobę upoważnioną obok etykiety Zadania importu/eksportu są uruchamiane jako.

    Jeśli podmiotem zabezpieczeń jest service-PROJECT_NUMBER@gcp-sa-firestore.iam.gserviceaccount.com, oznacza to, że Twój projekt został już przeniesiony do Cloud Firestore . Migracji nie można cofnąć.

    Jeśli projekt nie został przeniesiony, u góry strony pojawi się baner klikając przycisk Sprawdź stan zasobnika. Zobacz Migracja do agenta usługi Firestore aby dokończyć migrację.

Dodaj ograniczenie wynikające z zasad obowiązujących w całej organizacji

  • W zasadach organizacji ustaw te ograniczenia:

    Wymagaj agenta usługi Firestore przy importowaniu i eksportowaniu (firestore.requireP4SAforImportExport).

    To ograniczenie wymaga operacji importu i eksportu do użycia Cloud Firestore agent usługi do autoryzowania żądań. Aby ustawić to ograniczenie, zobacz Tworzenie zasad organizacji i zarządzanie nimi .

Zastosowanie tego ograniczenia zasady organizacji nie powoduje automatycznego przyznania odpowiednie uprawnienia zasobnika Cloud Storage dla Agent usługi Cloud Firestore.

Jeśli ograniczenie powoduje błędy uprawnień w przepływach pracy importowania lub eksportowania, możesz ją wyłączyć, by powrócić do domyślnego konta usługi. Po sprawdzeniu i zaktualizowaniu Cloud Storage zasobnika uprawnień, możesz ponownie włączyć to ograniczenie.