Masowe usuwanie danych

Dotyczy tylko wersji Cloud Firestore Enterprise.

Aby usunąć dane z bazy danych, użyj zarządzanej usługi usuwania zbiorczego. Ta funkcja umożliwia usuwanie danych z co najmniej 1 grupy kolekcji.

Na tej stronie dowiesz się, jak zbiorczo usuwać dokumenty za pomocą zarządzanej usługi zbiorczego usuwania. Usługa zarządzanego usuwania zbiorczego w trybie zgodności z MongoDB w Cloud Firestore jest dostępna za pomocą narzędzia wiersza poleceń gcloud i Cloud Firestore interfejsu REST API.

Zanim zaczniesz

Zanim zaczniesz korzystać z usługi zarządzanego usuwania zbiorczego, musisz wykonać te czynności:

  1. Włącz płatności w projekcie Google Cloud. Tylko projekty Google Cloud z włączonymi płatnościami mogą korzystać z funkcji usuwania zbiorczego.
  2. Sprawdź, czy Twoje konto ma niezbędne uprawnienia do korzystania z Cloud Firestore w trybie zgodności z MongoDB. Jeśli jesteś właścicielem projektu, Twoje konto ma wymagane uprawnienia. W przeciwnym razie te role przyznają niezbędne uprawnienia do operacji zbiorczego usuwania:

Konfigurowanie gcloud w projekcie

Operacje zbiorczego usuwania możesz inicjować w konsoli Google Cloud lub za pomocą narzędzia wiersza poleceń gcloud. Aby używać gcloud, skonfiguruj narzędzie wiersza poleceń i połącz się z projektem w jeden z tych sposobów:

Usuwanie danych zbiorczo

Operacja zbiorczego usuwania najpierw wyszukuje wszystkie odpowiednie dokumenty w bazie danych i usuwa je partiami. Możesz nadal wysyłać zapytania dotyczące tych dokumentów i je odczytywać, ale wyniki mogą się różnić w zależności od postępów. Zbiorcze usuwanie nie powoduje usunięcia żadnych dokumentów dodanych lub zmodyfikowanych po rozpoczęciu operacji.

Usuwanie zbiorcze określonych grup kolekcji

gcloud

Aby zbiorczo usunąć określone grupy kolekcji, użyj flagi --collection-ids. Operacja usuwa tylko grupy kolekcji o podanych identyfikatorach.

gcloud firestore bulk-delete \
--collection-ids=[COLLECTION_GROUP_ID_1_OR_KIND_1],[COLLECTION_GROUP_ID_2_OR_KIND_2],[SUBCOLLECTION_GROUP_ID_1_OR_KIND_3] \
--database=[DATABASE]

Zarządzanie operacjami zbiorczego usuwania

Po rozpoczęciu operacji zbiorczego usuwania Cloud Firestore w trybie zgodności z MongoDB przypisuje jej unikalną nazwę. Za pomocą nazwy operacji możesz ją usunąć, anulować lub sprawdzić jej stan.

Nazwy działań mają prefiks projects/[PROJECT_ID]/databases/[DATABASE_ID]/operations/, np.:

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

Możesz jednak pominąć prefiks podczas określania nazwy operacji dla poleceń describe, canceldelete.

Wyświetlanie listy wszystkich operacji zbiorczego usuwania

gcloud

Aby wyświetlić wszystkie trwające i niedawno zakończone operacje, w tym operacje zbiorczego usuwania, użyj polecenia operations list:

gcloud firestore operations list

Sprawdzanie stanu operacji

gcloud

Aby wyświetlić stan operacji usuwania zbiorczego, użyj polecenia operations describe.

gcloud firestore operations describe [OPERATION_NAME]

Szacowanie czasu ukończenia

Żądanie stanu długo trwającej operacji zwraca wskaźniki workEstimatedworkCompleted. Każde z tych danych jest zwracane w postaci liczby bajtów i liczby dokumentów:

  • workEstimated – szacowana łączna liczba bajtów i dokumentów, które zostaną przetworzone w ramach operacji. Cloud Firestore w trybie zgodności z MongoDB może pominąć te dane, jeśli nie może ich oszacować.

  • workCompleted wyświetla liczbę bajtów i dokumentów usuniętych do tej pory. Po zakończeniu operacji wartość pokazuje łączną liczbę bajtów i dokumentów, które zostały faktycznie przetworzone. Może być ona większa niż wartość workEstimated.

Aby uzyskać przybliżone oszacowanie postępu, podziel workCompleted przez workEstimated. Ten szacunek może być niedokładny, ponieważ zależy od opóźnionego zbierania statystyk.

Anulowanie operacji

gcloud

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

gcloud firestore operations cancel [OPERATION_NAME]

Anulowanie trwającej operacji nie powoduje jej cofnięcia. Anulowanie operacji zbiorczego usuwania nie przywraca usuniętych dokumentów.

Usuwanie operacji

Użyj polecenia gcloud firestore operations delete, aby usunąć zakończoną operację z listy ostatnich operacji. Aby anulować trwającą operację, użyj wcześniejszej operacji anulowania.

gcloud firestore operations delete [OPERATION_NAME]

Rozliczenia i ceny operacji zbiorczego usuwania

Zanim zaczniesz korzystać z usługi zarządzanego usuwania zbiorczego, musisz włączyć płatności w projekcie Google Cloud.

Pamiętaj, że Cloud Firestore w trybie zgodności z MongoDB nalicza opłaty za wykonaną pracę. Jeśli operacja zostanie anulowana lub nie powiedzie się z powodu błędu użytkownika, zostanie naliczona opłata za postęp. Cloud Firestore w trybie zgodności z MongoDB nie nalicza opłat za odczyty ani usunięcia dokumentów, które nie zostaną ostatecznie usunięte, np. dokumentów zmodyfikowanych po rozpoczęciu operacji usuwania. Koszt zostanie przypisany w dniu zakończenia operacji.

Operacje zbiorczego usuwania nie wywołują alertów dotyczących Google Cloudbudżetu do momentu zakończenia. Podobnie odczyty i usunięcia wykonane podczas operacji zbiorczego usuwania są stosowane do wykorzystania bezpłatnego limitu po zakończeniu operacji. Operacje zbiorczego usuwania nie mają wpływu na wykorzystanie widoczne w sekcji wykorzystania w konsoli.

Wyświetlanie kosztów usuwania zbiorczego

Operacje zbiorczego usuwania stosują etykietę goog-firestoremanaged:bulkdeletedo operacji rozliczanych. Na stronie raportów rozliczeniowych Google Cloud możesz użyć tej etykiety, aby wyświetlić koszty związane z operacjami zbiorczego usuwania.