Aktivieren der Erkennung doppelter Nachrichten für eine Azure Service Bus-Warteschlange oder ein Thema
Wenn Sie die Duplikaterkennung für eine Warteschlange oder ein Thema aktivieren, speichert Azure Service Bus einen Verlauf aller Nachrichten, die an die Warteschlange oder das Thema gesendet werden, für einen konfigurierten Zeitraum. In diesem Intervall werden in der Warteschlange oder dem Thema keine doppelten Nachrichten gespeichert. Wenn Sie diese Eigenschaft aktivieren, wird die Übermittlung genau einmal über einen benutzerdefinierten Zeitraum garantiert. Weitere Informationen finden Sie unter Duplikaterkennung. In diesem Artikel werden verschiedene Möglichkeiten zum Aktivieren der Erkennung doppelter Nachrichten für eine Service Bus-Warteschlange oder ein Thema beschrieben.
Hinweis
- Der Basic-Tarif von Service Bus unterstützt keine Duplikaterkennung. Die Standard- und Premium-Tarife unterstützen Duplikaterkennung. Informationen zu den Unterschieden zwischen diesen Tarifen finden Sie unter Service Bus-Preise.
- Sie können die Duplikaterkennung nach der Erstellung der Warteschlange oder des Themas nicht aktivieren oder deaktivieren. Dies ist nur zum Zeitpunkt der Erstellung der Warteschlange oder des Themas möglich.
Verwenden des Azure-Portals
Wenn Sie eine Warteschlange im Azure-Portal erstellen, wählen Sie Duplikaterkennung aktivieren aus, wie in der folgenden Abbildung dargestellt. Sie können die Größe des Duplikaterkennungsfensters beim Erstellen einer Warteschlange oder eines Themas konfigurieren.
Wenn Sie ein Thema im Azure-Portal erstellen, wählen Sie Duplikaterkennung aktivieren aus, wie in der folgenden Abbildung dargestellt.
Sie können diese Einstellung auch für eine vorhandene Warteschlange oder ein vorhandenes Thema konfigurieren, wenn Sie zum Zeitpunkt der Erstellung die Duplikaterkennung aktiviert haben.
Aktualisieren der Fenstergröße für die Duplikaterkennung für eine vorhandene Warteschlange oder ein Thema
Um die Größe des Duplikaterkennungsfensters für eine vorhandene Warteschlange oder ein Thema zu ändern, wählen Sie auf der Übersichtsseite die Option Ändern für Duplikaterkennungsfenster aus.
Warteschlange
Thema
Verwenden der Azure-Befehlszeilenschnittstelle
Um eine Warteschlange mit aktivierter Duplikaterkennungzu erstellen, verwenden Sie den az servicebus queue create
-Befehl , bei dem --enable-duplicate-detection
auf true
festgelegt ist.
az servicebus queue create \
--resource-group myresourcegroup \
--namespace-name mynamespace \
--name myqueue \
--enable-duplicate-detection true \
--duplicate-detection-history-time-window P1D
Um ein Thema mit aktivierter Duplikaterkennungzu erstellen, verwenden Sie den az servicebus topic create
-Befehl , bei dem --enable-duplicate-detection
auf true
festgelegt ist.
az servicebus topic create \
--resource-group myresourcegroup \
--namespace-name mynamespace \
--name mytopic \
--enable-duplicate-detection true \
--duplicate-detection-history-time-window P1D
In den obigen Beispielen wird auch die Größe des Duplikaterkennungsfensters mithilfe des --duplicate-detection-history-time-window
-Parameters festgelegt. Die Fenstergröße ist auf einen Tag festgelegt. Der Standardwert beträgt 10 Minuten, und der maximal zulässige Wert beträgt sieben Tage.
Um eine Warteschlange mit einer neuen Erkennungsfenstergrößez u aktualisieren, verwenden Sie den az servicebus queue update
-Befehl mit dem --duplicate-detection-history-time-window
-Parameter. In diesem Beispiel wird die Fenstergröße auf sieben Tage aktualisiert.
az servicebus queue update \
--resource-group myresourcegroup \
--namespace-name mynamespace \
--name myqueue \
--duplicate-detection-history-time-window P7D
Ähnlich wie beim Vorgang eine Warteschlange mit einer neuen Erkennungsfenstergröße aktualisieren, verwenden Sie den az servicebus topic update
-Befehl mit dem --duplicate-detection-history-time-window
-Parameter. In diesem Beispiel wird die Fenstergröße auf sieben Tage aktualisiert.
az servicebus topic update \
--resource-group myresourcegroup \
--namespace-name mynamespace \
--name myqueue \
--duplicate-detection-history-time-window P7D
Verwenden von Azure PowerShell
Um eine Warteschlange mit aktivierter Duplikaterkennungzu erstellen, verwenden Sie den New-AzServiceBusQueue
-Befehl , bei dem -RequiresDuplicateDetection
auf $True
festgelegt ist.
New-AzServiceBusQueue -ResourceGroup myresourcegroup `
-NamespaceName mynamespace `
-QueueName myqueue `
-RequiresDuplicateDetection $True `
-DuplicateDetectionHistoryTimeWindow P1D
Um ein Thema mit aktivierter Duplikaterkennungzu erstellen, verwenden Sie den New-AzServiceBusTopic
-Befehl , bei dem -RequiresDuplicateDetection
auf true
festgelegt ist.
New-AzServiceBusTopic -ResourceGroup myresourcegroup `
-NamespaceName mynamespace `
-Name mytopic `
-RequiresDuplicateDetection $True
-DuplicateDetectionHistoryTimeWindow P1D
In den obigen Beispielen wird auch die Größe des Duplikaterkennungsfensters mithilfe des -DuplicateDetectionHistoryTimeWindow
-Parameters festgelegt. Die Fenstergröße ist auf einen Tag festgelegt. Der Standardwert beträgt 10 Minuten, und der maximal zulässige Wert beträgt sieben Tage.
Informationen zum eine Warteschlange mit einer neuen Erkennungsfenstergröße aktualisieren finden Sie im folgenden Beispiel. In diesem Beispiel wird die Fenstergröße auf sieben Tage aktualisiert.
$queue=Get-AzServiceBusQueue -ResourceGroup myresourcegroup `
-NamespaceName mynamespace `
-QueueName myqueue
$queue.DuplicateDetectionHistoryTimeWindow='P7D'
Set-AzServiceBusQueue -ResourceGroup myresourcegroup `
-NamespaceName mynamespace `
-QueueName myqueue `
-QueueObj $queue
Informationen zum ein Thema mit einer neuen Erkennungsfenstergröße aktualisieren finden Sie im folgenden Beispiel. In diesem Beispiel wird die Fenstergröße auf sieben Tage aktualisiert.
$topic=Get-AzServiceBusTopic -ResourceGroup myresourcegroup `
-NamespaceName mynamespace `
-Name mytopic
$topic.DuplicateDetectionHistoryTimeWindow='P7D'
Set-AzServiceBusTopic -ResourceGroup myresourcegroup `
-NamespaceName mynamespace `
-Name mytopic `
-TopicObj $topic
Verwenden von Azure Resource Manager-Vorlagen
Um eine Warteschlange mit aktivierter Duplikaterkennung zu erstellen, stellen Sie im Abschnitt Warteschlangeneigenschaften requiresDuplicateDetection
auf true
. Weitere Informationen finden Sie unter Microsoft.ServiceBus namespaces/queues template reference. Geben Sie einen Wert für die duplicateDetectionHistoryTimeWindow
-Eigenschaft an, um die Größe des Duplikaterkennungsfensters festzulegen. Im folgenden Beispiel ist sie auf einen Tag festgelegt.
{
"$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"
}
}
]
}
]
}
Um ein Thema mit aktivierter Duplikaterkennung zu erstellen, stellen Sie im Abschnitt Themeneigenschaften requiresDuplicateDetection
auf true
. Weitere Informationen finden Sie unter Microsoft.ServiceBus namespaces/topics template reference.
{
"$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"
}
}
]
}
]
}
Nächste Schritte
Sehen Sie sich die Beispiele in der Sprache Ihrer Wahl an, um Azure Service Bus-Features zu untersuchen.
- Azure Service Bus-Clientbibliothekbeispiele für .NET (neueste Version)
- Azure Service Bus-Clientbibliothekbeispiele für Java (neueste Version)
- Azure Service Bus-Clientbibliothekbeispiele für Python
- Azure Service Bus-Clientbibliothekbeispiele für JavaScript
- Azure Service Bus-Clientbibliothekbeispiele für TypeScript
Hier finden Sie Beispiele für die älteren .NET- und Java-Clientbibliotheken:
- Azure Service Bus-Clientbibliothekbeispiele für .NET (Legacy)
- Azure Service Bus-Clientbibliothekbeispiele für Java (Legacy)
Am 30. September 2026 werden die Azure Service Bus SDK-Bibliotheken „WindowsAzure.ServiceBus“, „Microsoft.Azure.ServiceBus“ und „com.microsoft.azure.servicebus“ eingestellt, da sie nicht den Azure SDK-Richtlinien entsprechen. Außerdem wird die Unterstützung des SBMP-Protokolls beendet, sodass Sie dieses Protokoll nach dem 30. September 2026 nicht mehr verwenden können. Migrieren Sie vor diesem Datum zu den neuesten Azure SDK-Bibliotheken, die wichtige Sicherheitsupdates und verbesserte Funktionen bieten.
Obwohl die älteren Bibliotheken noch über den 30. September 2026 hinaus verwendet werden können, erhalten sie keinen offiziellen Support und keine Updates mehr von Microsoft. Weitere Informationen finden Sie in der Ankündigung der Supporteinstellung.