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:
- 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.
-
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:
- Role w Cloud Firestore w trybie zgodności z MongoDB:
Owner
,Cloud Datastore Owner
lubCloud Datastore Bulk Admin
- Role w Cloud Firestore w trybie zgodności z MongoDB:
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:
Otwórz
gcloud
w konsoli Google Cloud, klikając Cloud Shell.Sprawdź, czy
gcloud
jest skonfigurowany na potrzeby właściwego projektu:gcloud config set project [PROJECT_ID]
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
, cancel
i delete
.
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 workEstimated
i workCompleted
. 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:bulkdelete
do 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.