| 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 zbiorczego usuwania w Cloud Firestore w trybie zgodności z MongoDB 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 OwnerlubCloud 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
gcloudw konsoli Google Cloud, klikając Cloud Shell.Sprawdź, czy
gcloudjest 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 i odczytywać te dokumenty, 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ę. Nazwy operacji możesz używać do usuwania, anulowania lub sprawdzania stanu operacji.
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, gdy określasz nazwę 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ć.workCompletedwyś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 powoduje przywrócenia 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 dotyczących rozliczeń usługi Google Cloud możesz użyć tej etykiety, aby wyświetlić koszty związane z operacjami zbiorczego usuwania.