Supprimer des données en bloc
Utilisez le service de suppression groupée géré pour supprimer des données de votre base de données. Cette fonctionnalité permet de supprimer des données dans un ou plusieurs groupes de collections.
Cette page explique comment supprimer des documents en bloc à l'aide du service de suppression groupée géré. Le service de suppression groupée géré de Firestore compatible avec MongoDB est
disponible via l'outil de ligne de commande gcloud
et l'API REST Firestore .
Avant de commencer
Pour pouvoir utiliser le service de suppression groupée géré, vous devez effectuer les tâches ci-dessous :
- Pour la suppression groupée de documents, activez la facturation pour votre Google Cloud projet. Seuls Google Cloud les projets pour lesquels la facturation est activée peuvent utiliser la fonctionnalité de suppression groupée.
-
Assurez-vous que votre compte dispose des autorisations nécessaires pour Firestore compatible avec MongoDB. Si vous êtes le propriétaire du projet, votre compte dispose des autorisations requises. Sinon, les rôles suivants accordent les autorisations nécessaires pour les opérations de suppression groupée :
- Rôles Firestore compatibles avec MongoDB :
Owner,Cloud Datastore Owner, ouCloud Datastore Bulk Admin
- Rôles Firestore compatibles avec MongoDB :
Configurer gcloud pour votre projet
Vous pouvez lancer des opérations de suppression groupée via la Google Cloud console ou l'
gcloud outil de ligne de commande. Pour utiliser gcloud, configurez l'outil de ligne de commande et connectez-vous à votre projet de l'une des manières suivantes :
Accédez à
gcloudà partir de la Google Cloud console à l'aide de Cloud Shell.Assurez-vous que
gcloudest configuré pour le bon projet :gcloud config set project [PROJECT_ID]
Supprimer des données en bloc
Une opération de suppression groupée recherche d'abord tous les documents applicables dans votre base de données, puis les supprime par lots. Vous pouvez toujours interroger ou lire ces documents, mais les résultats peuvent varier en fonction de la progression. La suppression groupée ne supprime aucun document ajouté ou modifié après le début de l'opération.
Supprimer en bloc des groupes de collections spécifiques
gcloud
Pour supprimer en bloc des groupes de collections spécifiques, utilisez l'
--collection-ids indicateur.
L'opération ne supprime que les groupes de collections avec les ID spécifiés.
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]
restaurants de la base de données cymbal. Vous disposez également de collections pour ratings, reviews et outlets. Pour supprimer en bloc les collections restaurants et reviews, votre commande se présente comme suit :
gcloud firestore bulk-delete \ --collection-ids=restaurants,reviews \ --database='cymbal'
Gérer les opérations de suppression groupée
Une fois que vous avez lancé une opération de suppression groupée, Firestore compatible avec MongoDB attribue à l'opération un nom unique. Vous pouvez utiliser le nom de l'opération pour supprimer, annuler ou vérifier l'état de l'opération.
Les noms des opérations sont précédés du préfixe projects/[PROJECT_ID]/databases/[DATABASE_ID]/operations/, par exemple :
projects/my-project/databases/(default)/operations/ASA1MTAwNDQxNAgadGx1YWZlZAcSeWx0aGdpbi1zYm9qLW5pbWRhEgopEg
Cependant, vous pouvez omettre le préfixe lorsque vous spécifiez un nom d'opération pour les commandes describe, cancel et delete.
Répertorier toutes les opérations de suppression groupée
gcloud
Utilisez la commande operations list pour afficher toutes les opérations en cours et
récemment terminées, y compris les opérations de suppression groupée :
gcloud firestore operations list
Vérifier l'état de l'opération
gcloud
Utilisez la operations describe commande pour afficher l'état
d'une opération de suppression groupée.
gcloud firestore operations describe [OPERATION_NAME]
Estimer le délai d'exécution
Une requête permettant d'obtenir l'état d'une opération de longue durée renvoie les métriques workEstimated et workCompleted. Chacune de ces métriques est renvoyée à la fois en nombre d'octets et en nombre de documents :
workEstimatedindique le nombre total estimé d'octets et de documents qu'une opération va traiter. Firestore compatible avec MongoDB peut omettre cette métrique s'il ne peut pas faire d'estimation.workCompletedindique le nombre d'octets et de documents supprimés jusqu'à présent. Une fois l'opération terminée, la valeur indique le nombre total d'octets et de documents réellement traités, qui peut être supérieur à la valeur deworkEstimated.
Divisez workCompleted par workEstimated pour obtenir une estimation approximative de la progression. Cette estimation peut être inexacte, car elle dépend de la collecte de statistiques retardée.
Annuler une opération
gcloud
Utilisez la commande operations cancel pour arrêter une opération
en cours :
gcloud firestore operations cancel [OPERATION_NAME]
L'annulation d'une opération en cours n'annule pas l'opération. Une opération de suppression groupée annulée ne récupère pas les documents supprimés.
Supprimer une opération
Utilisez la gcloud firestore operations delete commande pour supprimer
une opération terminée de la liste des opérations récentes. Pour annuler une opération en cours, utilisez l'opération d'annulation précédente.
gcloud firestore operations delete [OPERATION_NAME]
Facturation et tarifs des opérations de suppression groupée
Vous devez activer la facturation pour votre Google Cloud projet pour pouvoir utiliser le service de suppression groupée géré.
Les opérations de suppression groupée sont facturées pour les lectures et suppressions de documents aux tarifs indiqués dans la section Tarifs de l'édition Firestore Enterprise.Vous êtes facturé 1 unité d'écriture pour chaque tranche de 1 Kio de données de document ou de données d'entrée d'index supprimées.
Vous êtes facturé au minimum une unité de lecture par document supprimé. Si la taille du nom du document est supérieure à 4 Kio, vous êtes facturé 1 unité de lecture par tranche de 4 Kio, arrondie au supérieur, pour ce document.
Notez que Firestore compatible avec MongoDB facture le travail réel effectué. Si l'opération est annulée ou échoue en raison d'une erreur de l'utilisateur, vous serez facturé en fonction de la progression. Firestore compatible avec MongoDB ne facture pas les lectures ni les suppressions pour les documents qui ne sont pas finalement supprimés, tels que les documents modifiés après le début de l'opération de suppression. Le coût sera attribué le jour de la fin de l'opération.
Les opérations de suppression groupée ne déclenchent pas vos Google Cloud budget alertes budgétaires avant la fin de leur exécution. De même, les lectures et suppressions effectuées lors d'une opération de suppression groupée sont appliquées à votre utilisation du niveau sans frais une fois l'opération terminée. Les opérations de suppression groupée n'ont aucune incidence sur l'utilisation affichée dans la section "Utilisation" de la console.
Afficher les coûts de suppression groupée
Les opérations de suppression groupée appliquent le libellé goog-firestoremanaged:bulkdelete aux opérations facturées. Sur la page Rapports Cloud Billing
page, vous
pouvez utiliser ce libellé pour afficher les coûts liés aux opérations de suppression groupée.