Daten im Bulk löschen

Mit dem verwalteten Bulk-Löschdienst können Sie Daten aus Ihrer Datenbank löschen. Diese Funktion unterstützt das Löschen aus einer oder mehreren Sammlungsgruppen.

Auf dieser Seite wird beschrieben, wie Sie Dokumente im Bulk mit dem verwalteten Bulk-Löschdienst löschen. Der verwaltete Bulk-Löschdienst für Firestore mit MongoDB-Kompatibilität ist über das gcloud Befehlszeilentool und die Firestore REST API verfügbar.

Hinweis

Bevor Sie den verwalteten Bulk-Löschdienst verwenden können, müssen Sie die folgenden Schritte ausführen:

  1. Aktivieren Sie für das Bulk-Löschen von Dokumenten die Abrechnung für Ihr Google Cloud Projekt. Nur bei Projekten mit aktivierter Abrechnung kann die Bulk-Löschfunktion verwendet werden. Google Cloud
  2. Sorgen Sie dafür, dass Ihr Konto die erforderlichen Berechtigungen für Firestore mit MongoDB-Kompatibilität hat. Wenn Sie der Projektinhaber sind, enthält Ihr Konto bereits die notwendigen Berechtigungen. Andernfalls gewähren die folgenden Rollen die erforderlichen Berechtigungen für Bulk-Löschvorgänge:

gcloud für Ihr Projekt einrichten

Sie können Bulk-Löschvorgänge über die Google Cloud Konsole oder das gcloud Befehlszeilentool starten. Wenn Sie gcloud verwenden möchten, richten Sie das Befehlszeilentool ein und stellen Sie auf eine der folgenden Arten eine Verbindung zu Ihrem Projekt her:

Daten im Bulk löschen

Bei einem Bulk-Löschvorgang werden zuerst alle relevanten Dokumente in Ihrer Datenbank gesucht und dann in Batches gelöscht. Sie können diese Dokumente weiterhin abfragen oder lesen, wobei die Ergebnisse je nach Fortschritt variieren können. Bei einem Bulk-Löschvorgang werden keine Dokumente gelöscht, die nach dem Start des Vorgangs hinzugefügt oder geändert wurden.

Bestimmte Sammlungsgruppen im Bulk löschen

gcloud

Verwenden Sie das --collection-ids Flag, um bestimmte Sammlungsgruppen im Bulk zu löschen. Bei dem Vorgang werden nur die Sammlungsgruppen mit den angegebenen IDs gelöscht.

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]
Nehmen wir an, Sie haben mehrere Dokumente, die Restaurants in der Sammlung restaurants der Datenbank cymbal darstellen. Außerdem haben Sie Sammlungen für ratings, reviews und outlets. Wenn Sie die Sammlungen restaurants und reviews im Bulk löschen möchten, sieht der Befehl so aus:

gcloud firestore bulk-delete \
--collection-ids=restaurants,reviews \
--database='cymbal'

Bulk-Löschvorgänge verwalten

Nachdem Sie einen Bulk-Löschvorgang gestartet haben, weist Firestore mit MongoDB-Kompatibilität dem Vorgang einen eindeutigen Namen zu. Sie können mit diesem Namen den Vorgang löschen, abbrechen oder seinen Status prüfen.

Vorgangsnamen haben das Präfix projects/[PROJECT_ID]/databases/[DATABASE_ID]/operations/, zum Beispiel:

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

Wenn Sie für die Befehle describe, cancel und delete einen Vorgangsnamen angeben, können Sie das Präfix weglassen.

Alle Bulk-Löschvorgänge auflisten

gcloud

Verwenden Sie den Befehl operations list, um alle laufenden und kürzlich abgeschlossenen Vorgänge einschließlich Bulk-Löschvorgängen anzuzeigen:

gcloud firestore operations list

Vorgangsstatus prüfen

gcloud

Verwenden Sie den operations describe Befehl, um den Status eines Bulk-Löschvorgangs anzuzeigen.

gcloud firestore operations describe [OPERATION_NAME]

Fertigstellungszeit schätzen

Eine Anfrage für den Status eines Vorgangs mit langer Ausführungszeit liefert die Messwerte workEstimated und workCompleted. Beide Messwerte werden als Anzahl der Byte und als Anzahl der Dokumente zurückgegeben:

  • workEstimated weist die geschätzte Gesamtzahl der Byte und Dokumente aus, die ein Vorgang verarbeitet. Firestore mit MongoDB-Kompatibilität lässt diesen Messwert möglicherweise aus, wenn keine Schätzung möglich ist.

  • workCompleted weist die Anzahl der bisher gelöschten Byte und Dokumente aus. Nach Abschluss des Vorgangs zeigt der Wert die Gesamtanzahl der tatsächlich verarbeiteten Byte und Dokumente an, die möglicherweise größer als der Wert von workEstimated ist.

Teilen Sie workCompleted durch workEstimated, um eine grobe Schätzung des Fortschritts zu erhalten. Diese Schätzung ist möglicherweise ungenau, da sie von der verzögerten Statistikerfassung abhängt.

Vorgang abbrechen

gcloud

Verwenden Sie den operations cancel Befehl, um einen laufenden Vorgang zu stoppen:

gcloud firestore operations cancel [OPERATION_NAME]

Durch das Abbrechen eines laufenden Vorgangs wird der Vorgang nicht rückgängig gemacht. Bei einem abgebrochenen Bulk-Löschvorgang werden die gelöschten Dokumente nicht wiederhergestellt.

Vorgang löschen

Verwenden Sie den gcloud firestore operations delete Befehl, um einen abgeschlossenen Vorgang aus der Liste der letzten Vorgänge zu entfernen. Verwenden Sie den oben beschriebenen Abbruchvorgang, um einen laufenden Vorgang abzubrechen.

gcloud firestore operations delete [OPERATION_NAME]

Abrechnung und Preise für Bulk-Löschvorgänge

Damit Sie den verwalteten Bulk-Löschdienst verwenden können, müssen Sie die Abrechnung für Ihr Google Cloud Projekt aktivieren, bevor Sie ihn verwenden.

Für Bulk-Löschvorgänge werden die Lese- und Löschvorgänge von Dokumenten zu den Preisen für die Firestore Enterprise-Edition berechnet.

Für jede Tranche von 1 KiB an gelöschten Dokumentdaten oder Indexeinträgen wird 1 Schreibeinheit berechnet.

Pro gelöschtem Dokument wird mindestens eine Leseeinheit berechnet. Wenn die Größe des Dokumentnamens mehr als 4 KiB beträgt, werden für dieses Dokument 1 Leseeinheit pro 4 KiB-Tranche berechnet, aufgerundet.

Bei Firestore mit MongoDB-Kompatibilität werden die tatsächlichen Kosten berechnet. Wenn der Vorgang aufgrund eines Nutzerfehlers abgebrochen wird oder fehlschlägt, werden Ihnen die Kosten für den bisherigen Fortschritt in Rechnung gestellt. Bei Firestore mit MongoDB-Kompatibilität werden keine Lese- oder Löschvorgänge für die Dokumente berechnet, die nicht endgültig gelöscht werden, z. B. Dokumente, die nach dem Start des Löschvorgangs geändert wurden. Die Kosten werden am Tag des Abschlusses des Vorgangs in Rechnung gestellt.

Bulk-Löschvorgänge werden erst nach Abschluss auf das Google Cloud Budget angerechnet. Die während eines Bulk-Löschvorgangs ausgeführten Lese- und Löschvorgänge werden erst nach Abschluss des Vorgangs auf Ihr kostenloses Kontingent angerechnet. Bulk-Löschvorgänge wirken sich nicht auf die im Abschnitt „Nutzung“ der Konsole angezeigte Nutzung aus.

Kosten für Bulk-Löschvorgänge ansehen

Bei Bulk-Löschvorgängen wird das Label goog-firestoremanaged:bulkdelete auf in Rechnung gestellte Vorgänge angewendet. Auf der Cloud Billing-Berichte Seite können Sie über dieses Label Kosten für Bulk-Löschvorgänge aufrufen.