Activer la détection des messages dupliqués pour une file d’attente ou une rubrique Azure Service Bus
Lorsque vous activez la détection des doublons pour une file d’attente ou une rubrique, Azure Service Bus conserve un historique de tous les messages envoyés à la file d’attente ou à la rubrique pendant une durée configurable. Pendant cet intervalle, votre file d’attente ou votre rubrique ne stockera pas de messages en double. L’activation de cette propriété garantit une livraison unique sur une période de temps définie par l’utilisateur. Pour en savoir plus, consultez Détection des doublons. Cet article vous montre différentes façons d’activer la détection des messages dupliqués pour une file d’attente ou une rubrique Service Bus.
Notes
- Le niveau De base de Service Bus ne prend pas en charge la détection des doublons. Les niveaux Standard et Premium prennent en charge la détection des doublons. Pour connaître les différences entre ces niveaux, voir Tarification de Service Bus.
- Vous ne pouvez pas activer ou désactiver la détection des doublons après la création de la file d’attente ou de la rubrique. Vous ne pouvez le faire qu’au moment de la création de la file d’attente ou de la rubrique.
En passant par le portail Azure
Lorsque vous créez une file d’attente dans le portail Azure, sélectionnez Activer la détection des doublons comme indiqué dans l’image suivante. Vous pouvez configurer la taille de la fenêtre de détection des doublons lors de la création d’une file d’attente ou d’une rubrique.
Lorsque vous créez une rubrique dans le portail Azure, sélectionnez Activer la détection des doublons comme indiqué dans l’image suivante.
Vous pouvez également configurer ce paramètre pour une file d’attente ou une rubrique existante si vous aviez activé la détection des doublons au moment de la création.
Mettre à jour la taille de la fenêtre de détection des doublons pour une file d’attente ou une rubrique existante
Pour modifier la taille de la fenêtre de détection des doublons pour une file d’attente ou une rubrique existante, dans la page Vue d’ensemble, sélectionnez Modifier pour Fenêtre de détection des doublons.
File d'attente
Rubrique
Utilisation de l’interface de ligne de commande Azure
Pour créer une file d’attente avec la détection des doublons activée, utilisez la commande az servicebus queue create
avec --enable-duplicate-detection
défini sur true
.
az servicebus queue create \
--resource-group myresourcegroup \
--namespace-name mynamespace \
--name myqueue \
--enable-duplicate-detection true \
--duplicate-detection-history-time-window P1D
Pour créer une rubrique avec la détection des doublons activée, utilisez la commande az servicebus topic create
avec --enable-duplicate-detection
défini sur true
.
az servicebus topic create \
--resource-group myresourcegroup \
--namespace-name mynamespace \
--name mytopic \
--enable-duplicate-detection true \
--duplicate-detection-history-time-window P1D
Les exemples ci-dessus définissent également la taille de la fenêtre de détection des doublons à l’aide du paramètre --duplicate-detection-history-time-window
. La taille de la fenêtre est définie sur un jour. La valeur par défaut est de dix minutes et la valeur maximale autorisée est de sept jours.
Pour mettre à jour une file d’attente avec une nouvelle taille de fenêtre de détection, utilisez la commande az servicebus queue update
avec le paramètre --duplicate-detection-history-time-window
. Dans cet exemple, la taille de la fenêtre est mise à jour à sept jours.
az servicebus queue update \
--resource-group myresourcegroup \
--namespace-name mynamespace \
--name myqueue \
--duplicate-detection-history-time-window P7D
De même, pour mettre à jour une rubrique avec une nouvelle taille de fenêtre de détection, utilisez la commande az servicebus topic update
avec le paramètre --duplicate-detection-history-time-window
. Dans cet exemple, la taille de la fenêtre est mise à jour à sept jours.
az servicebus topic update \
--resource-group myresourcegroup \
--namespace-name mynamespace \
--name myqueue \
--duplicate-detection-history-time-window P7D
Utilisation de Microsoft Azure PowerShell
Pour créer une file d’attente avec la détection des doublons activée, utilisez la commande New-AzServiceBusQueue
avec -RequiresDuplicateDetection
défini sur $True
.
New-AzServiceBusQueue -ResourceGroup myresourcegroup `
-NamespaceName mynamespace `
-QueueName myqueue `
-RequiresDuplicateDetection $True `
-DuplicateDetectionHistoryTimeWindow P1D
Pour créer une rubrique avec la détection des doublons activée, utilisez la commande New-AzServiceBusTopic
avec -RequiresDuplicateDetection
défini sur true
.
New-AzServiceBusTopic -ResourceGroup myresourcegroup `
-NamespaceName mynamespace `
-Name mytopic `
-RequiresDuplicateDetection $True
-DuplicateDetectionHistoryTimeWindow P1D
Les exemples ci-dessus définissent également la taille de la fenêtre de détection des doublons à l’aide du paramètre -DuplicateDetectionHistoryTimeWindow
. La taille de la fenêtre est définie sur un jour. La valeur par défaut est de dix minutes et la valeur maximale autorisée est de sept jours.
Pour mettre à jour une file d’attente avec une nouvelle taille de fenêtre de détection, consultez l’exemple suivant. Dans cet exemple, la taille de la fenêtre est mise à jour à sept jours.
$queue=Get-AzServiceBusQueue -ResourceGroup myresourcegroup `
-NamespaceName mynamespace `
-QueueName myqueue
$queue.DuplicateDetectionHistoryTimeWindow='P7D'
Set-AzServiceBusQueue -ResourceGroup myresourcegroup `
-NamespaceName mynamespace `
-QueueName myqueue `
-QueueObj $queue
Pour mettre à jour une rubrique avec une nouvelle taille de fenêtre de détection, consultez l’exemple suivant. Dans cet exemple, la taille de la fenêtre est mise à jour à sept jours.
$topic=Get-AzServiceBusTopic -ResourceGroup myresourcegroup `
-NamespaceName mynamespace `
-Name mytopic
$topic.DuplicateDetectionHistoryTimeWindow='P7D'
Set-AzServiceBusTopic -ResourceGroup myresourcegroup `
-NamespaceName mynamespace `
-Name mytopic `
-TopicObj $topic
Utilisation d’un modèle Azure Resource Manager
Pour créer une file d’attente avec la détection des doublons activée, définissez requiresDuplicateDetection
sur true
dans la section Propriétés de la file d’attente. Pour plus d’informations, consultez la documentation de référence sur les modèles de files d’attente/espaces de noms Microsoft.ServiceBus. Spécifiez une valeur pour la propriété duplicateDetectionHistoryTimeWindow
afin de définir la taille de la fenêtre de détection des doublons. Dans l’exemple suivant, elle est définie sur un jour.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"serviceBusNamespaceName": {
"type": "string",
"metadata": {
"description": "Name of the Service Bus namespace"
}
},
"serviceBusQueueName": {
"type": "string",
"metadata": {
"description": "Name of the Queue"
}
},
"location": {
"type": "string",
"defaultValue": "[resourceGroup().location]",
"metadata": {
"description": "Location for all resources."
}
}
},
"resources": [
{
"type": "Microsoft.ServiceBus/namespaces",
"apiVersion": "2018-01-01-preview",
"name": "[parameters('serviceBusNamespaceName')]",
"location": "[parameters('location')]",
"sku": {
"name": "Standard"
},
"properties": {},
"resources": [
{
"type": "Queues",
"apiVersion": "2017-04-01",
"name": "[parameters('serviceBusQueueName')]",
"dependsOn": [
"[resourceId('Microsoft.ServiceBus/namespaces', parameters('serviceBusNamespaceName'))]"
],
"properties": {
"requiresDuplicateDetection": true,
"duplicateDetectionHistoryTimeWindow": "P1D"
}
}
]
}
]
}
Pour créer une rubrique avec la détection des doublons activée, définissez requiresDuplicateDetection
sur true
dans la section Propriétés de la rubrique. Pour plus d’informations, consultez la documentation de référence sur les modèles de files d’attente/espaces de noms Microsoft.ServiceBus.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"service_BusNamespace_Name": {
"type": "string",
"metadata": {
"description": "Name of the Service Bus namespace"
}
},
"serviceBusTopicName": {
"type": "string",
"metadata": {
"description": "Name of the Topic"
}
},
"location": {
"type": "string",
"defaultValue": "[resourceGroup().location]",
"metadata": {
"description": "Location for all resources."
}
}
},
"resources": [
{
"apiVersion": "2018-01-01-preview",
"name": "[parameters('service_BusNamespace_Name')]",
"type": "Microsoft.ServiceBus/namespaces",
"location": "[parameters('location')]",
"sku": {
"name": "Standard"
},
"properties": {},
"resources": [
{
"apiVersion": "2017-04-01",
"name": "[parameters('serviceBusTopicName')]",
"type": "topics",
"dependsOn": [
"[resourceId('Microsoft.ServiceBus/namespaces/', parameters('service_BusNamespace_Name'))]"
],
"properties": {
"requiresDuplicateDetection": true,
"duplicateDetectionHistoryTimeWindow": "P1D"
}
}
]
}
]
}
Étapes suivantes
Essayez les exemples dans le langage de votre choix pour explorer les fonctionnalités d’Azure Service Bus.
- Exemples de bibliothèque de client Azure Service Bus pour .NET (dernière version)
- Exemples de bibliothèque de client Azure Service Bus pour Java (dernière version)
- Exemples de bibliothèque de client Azure Service Bus pour Python
- Exemples de bibliothèque de client Azure Service Bus pour JavaScript
- Exemples de bibliothèque de client Azure Service Bus pour TypeScript
Recherchez des exemples pour les anciennes bibliothèques clientes .NET et Java ci-dessous :
- Exemples de bibliothèque de client Azure Service Bus pour .NET (version héritée)
- Exemples de bibliothèque de client Azure Service Bus pour Java (version héritée)
Le 30 septembre 2026, nous retirerons les bibliothèques WindowsAzure.ServiceBus, Microsoft.Azure.ServiceBus et com.microsoft.azure.servicebus du kit de développement logiciel (SDK) Azure Service Bus, qui ne sont pas conformes aux directives du kit de développement logiciel (SDK) Azure. Nous mettrons également fin à la prise en charge du protocole SBMP. Vous ne pourrez donc plus utiliser ce protocole après le 30 septembre 2026. Migrez vers les dernières bibliothèques du kit de développement logiciel (SDK) Azure, qui offre des correctifs de sécurité critiques et des fonctionnalités améliorées, avant cette date.
Bien que les anciennes bibliothèques puissent toujours être utilisées au-delà du 30 septembre 2026, elles ne seront plus prises en charge officiellement et mises à jour par Microsoft. Pour plus d’informations, consultez l’annonce concernant l’arrêt de la prise en charge.