Événements
Créer des applications et des agents IA
17 mars, 21 h - 21 mars, 10 h
Rejoignez la série de rencontres pour créer des solutions IA évolutives basées sur des cas d’usage réels avec d’autres développeurs et experts.
S’inscrire maintenantCe navigateur n’est plus pris en charge.
Effectuez une mise à niveau vers Microsoft Edge pour tirer parti des dernières fonctionnalités, des mises à jour de sécurité et du support technique.
S’APPLIQUE À : NoSQL
Cet article explique comment utiliser les kits de développement logiciel (SDK) Azure Cosmos DB pour supprimer tous les éléments par valeur de clé de partition logique.
Important
La suppression d’éléments par valeur de clé de partition est en préversion publique. Cette fonctionnalité est fournie sans contrat de niveau de service. Pour plus d’informations, consultez Conditions d’Utilisation Supplémentaires relatives aux Évaluations Microsoft Azure.
La fonctionnalité de suppression par clé de partition est une opération asynchrone en arrière-plan qui vous permet de supprimer tous les documents qui ont la même valeur de clé de partition logique, en utilisant le SDK Cosmos.
Le nombre de documents à supprimer pouvant être volumineux, l’opération s’exécute en arrière-plan. Bien que l’opération de suppression physique s’exécute en arrière-plan, les effets sont disponibles immédiatement, car les documents à supprimer n’apparaissent pas dans les résultats de requêtes ou les opérations de lecture.
L’opération de suppression par clé de partition vise à consommer au maximum 10 % du nombre total de RU/s disponibles sur le conteneur chaque seconde, sur la base du meilleur effort. Cela permet de limiter les ressources utilisées par cette tâche en arrière-plan.
Mettez à jour votre compte Azure Cosmos DB pour activer la fonctionnalité « Supprimer par clé de partition » en utilisant Azure CLI.
Étape 1 : définir les variables de l’interpréteur de commandes
$resourceGroupName = <azure_resource_group>
$accountName = <azure_cosmos_db_account_name>
$DeleteByPk = "DeleteAllItemsByPartitionKey"
Étape 2 : répertorier les fonctionnalités existantes de votre compte
$cosmosdb = az cosmosdb show \
--resource-group $resourceGroupName \
--name $accountName
$capabilities = ($cosmosdb | ConvertFrom-Json).capabilities
Étape 3 : ajouter la fonctionnalité « Supprimer des éléments par clé de partition » dans la liste des fonctionnalités si elle n’existe pas déjà
Notes
La liste des fonctionnalités doit toujours spécifier toutes les fonctionnalités que vous souhaitez activer, inclusivement. Cela inclut les fonctionnalités déjà activées pour le compte que vous souhaitez conserver.
$capabilities = $DeleteByPk
Étape 4 : mettre à jour le compte Azure Cosmos DB pour activer la fonctionnalité « Supprimer des éléments par clé de partition »
az cosmosdb update --capabilities $capabilities \
-n $accountName -g $resourceGroupName
Utilisez la version 3.25.0-preview (ou une préversion ultérieure) du Kit de développement logiciel (SDK) .NET Azure Cosmos DB pour supprimer des éléments par clé de partition.
// Suppose our container is partitioned by tenantId, and we want to delete all the data for a particular tenant Contoso
// Get reference to the container
var container = cosmosClient.GetContainer("DatabaseName", "ContainerName");
// Delete by logical partition key
ResponseMessage deleteResponse = await container.DeleteAllItemsByPartitionKeyStreamAsync(new PartitionKey("Contoso"));
if (deleteResponse.IsSuccessStatusCode) {
Console.WriteLine($"Delete all documents with partition key operation has successfully started");
}
Oui, une fois l’opération de suppression par clé de partition démarrée, les documents à supprimer ne s’affichent pas dans les résultats de requêtes ou d’opérations de lecture. Cela signifie également que vous pouvez écrire un nouveau document avec le même ID et la même clé de partition qu’un document à supprimer sans entraîner de conflit.
Consultez Problèmes connus pour les exceptions.
Lorsque l’opération de suppression par clé de partition est émise, seuls les documents qui existent dans le conteneur à ce stade avec la valeur de clé de partition sont supprimés. Les nouveaux documents qui arrivent n’entrent pas dans l’étendue de la suppression.
Par défaut, l’opération de suppression par valeur de clé de partition peut consommer jusqu’à une fraction réservée, 0,1 ou 10 %, de la RU/s globale sur la ressource. Toutes les unités de requête (RU) inutilisées dans ce compartiment sont disponibles pour d’autres opérations non effectuées en arrière-plan, telles que les lectures, les écritures et les requêtes.
Par exemple, supposons que vous avez provisionné 1000 RU/s sur un conteneur. Une opération de suppression par clé de partition en cours consomme 100 RU chaque seconde pendant 5 secondes. Au cours de chacune de ces 5 secondes, 900 RU sont disponibles pour les opérations de base de données non effectuées en arrière-plan. Une fois l’opération de suppression terminée, toutes les 1 000 RU/s sont désormais disponibles à nouveau.
Dans certains scénarios, une opération de suppression par clé de partition peut ne pas garantir immédiatement ses effets, ce qui peut entraîner une visibilité partielle pendant l’opération.
Recherchez la dernière version du Kit de développement logiciel (SDK) qui prend en charge cette fonctionnalité.
Kit SDK | Versions prises en charge | Lien du gestionnaire de package |
---|---|---|
Kit de développement logiciel (SDK) .NET v3 | >= 3.25.0-preview (doit être une préversion) | https://www.nuget.org/packages/Microsoft.Azure.Cosmos/ |
Kit SDK Java v4 | >= 4.19.0 (l’API est marquée comme bêta) | https://mvnrepository.com/artifact/com.azure/azure-cosmos |
Kit SDK Python v4 | >= 4..4.0b1 (doit être une version bêta) | https://pypi.org/project/azure-cosmos/4.4.0b1/ |
La prise en charge d’autres kits SDK est prévue ultérieurement.
Consultez les articles suivants pour en savoir plus sur les opérations de Kit de développement logiciel (SDK) dans Azure Cosmos DB.
Événements
Créer des applications et des agents IA
17 mars, 21 h - 21 mars, 10 h
Rejoignez la série de rencontres pour créer des solutions IA évolutives basées sur des cas d’usage réels avec d’autres développeurs et experts.
S’inscrire maintenantEntrainement
Parcours d’apprentissage
Accéder aux données et les gérer à l’aide des kits SDK Azure Cosmos DB for NoSQL - Training
Accéder aux données et les gérer à l’aide des kits SDK Azure Cosmos DB for NoSQL
Certification
Microsoft Certified : Azure Cosmos DB Developer Specialty - Certifications
Écrivez des requêtes efficaces, créez des stratégies d’indexation, gérez et approvisionnez des ressources dans l’API SQL et le Kit de développement logiciel (SDK) avec Microsoft Azure Cosmos DB.
Documentation
Interroger un conteneur Azure Cosmos DB
Découvrez comment interroger des conteneurs dans Azure Cosmos DB à l’aide de requêtes dans une partition et dans plusieurs partitions.
Découvrez comment utiliser TransactionalBatch dans le .NET, le kit de développement logiciel (SDK) Java ou le kit de développement logiciel (SDK) Python d’Azure Cosmos DB pour effectuer un groupe d’opérations de point qui réussissent ou échouent.
Modifier la clé de partition - Azure Cosmos DB
Modifier la clé de partition dans l’API Azure Cosmos DB for NoSQL.