Abilitare il rilevamento di messaggi duplicati per una coda di bus di servizio di Azure o un argomento
Quando si abilita il rilevamento dei duplicati per una coda o un argomento, bus di servizio di Azure mantiene una cronologia di tutti i messaggi inviati alla coda o all'argomento per un periodo di tempo configurato. Durante tale intervallo, la coda o l'argomento non archivierà messaggi duplicati. L'abilitazione di questa proprietà garantisce esattamente una volta il recapito in un intervallo di tempo definito dall'utente. Per altre informazioni, vedere Rilevamento duplicati. Questo articolo illustra diversi modi per abilitare il rilevamento di messaggi duplicati per una coda bus di servizio o un argomento.
Nota
- Il livello di base di bus di servizio non supporta il rilevamento dei duplicati. I livelli Standard e Premium supportano il rilevamento dei duplicati. Per le differenze tra questi livelli, vedere Prezzi del bus di servizio.
- Non è possibile abilitare o disabilitare il rilevamento dei duplicati dopo la creazione della coda o dell'argomento. È possibile farlo solo al momento della creazione della coda o dell'argomento.
Con il portale di Azure
Quando si crea una coda nella portale di Azure, selezionare Abilita rilevamento duplicati, come illustrato nell'immagine seguente. È possibile configurare le dimensioni della finestra di rilevamento duplicati durante la creazione di una coda o di un argomento.
Quando si crea un argomento nella portale di Azure, selezionare Abilita rilevamento duplicati, come illustrato nell'immagine seguente.
È anche possibile configurare questa impostazione per una coda o un argomento esistente, se è stato abilitato il rilevamento dei duplicati al momento della creazione.
Aggiornare le dimensioni della finestra di rilevamento duplicati per una coda esistente o un argomento
Per modificare le dimensioni della finestra di rilevamento duplicati per una coda esistente o un argomento, nella pagina Panoramica selezionare Modifica per La finestra di rilevamento duplicati.
Coda
Argomento
Utilizzare l'interfaccia della riga di comando di Azure
Per creare una coda con rilevamento duplicato abilitato, usare il az servicebus queue create
comando con --enable-duplicate-detection
impostato su true
.
az servicebus queue create \
--resource-group myresourcegroup \
--namespace-name mynamespace \
--name myqueue \
--enable-duplicate-detection true \
--duplicate-detection-history-time-window P1D
Per creare un argomento con rilevamento duplicati abilitato, usare il az servicebus topic create
comando con --enable-duplicate-detection
impostato su true
.
az servicebus topic create \
--resource-group myresourcegroup \
--namespace-name mynamespace \
--name mytopic \
--enable-duplicate-detection true \
--duplicate-detection-history-time-window P1D
Gli esempi precedenti impostano anche le dimensioni della finestra di rilevamento duplicati usando il --duplicate-detection-history-time-window
parametro . Le dimensioni della finestra sono impostate su un giorno. Il valore predefinito è 10 minuti e il valore massimo consentito è sette giorni.
Per aggiornare una coda con una nuova dimensione della finestra di rilevamento, usare il az servicebus queue update
comando con il --duplicate-detection-history-time-window
parametro . In questo esempio le dimensioni della finestra vengono aggiornate a sette giorni.
az servicebus queue update \
--resource-group myresourcegroup \
--namespace-name mynamespace \
--name myqueue \
--duplicate-detection-history-time-window P7D
Analogamente, per aggiornare un argomento con una nuova dimensione della finestra di rilevamento, usare il az servicebus topic update
comando con il --duplicate-detection-history-time-window
parametro . In questo esempio le dimensioni della finestra vengono aggiornate a sette giorni.
az servicebus topic update \
--resource-group myresourcegroup \
--namespace-name mynamespace \
--name myqueue \
--duplicate-detection-history-time-window P7D
Uso di Azure PowerShell
Per creare una coda con rilevamento duplicato abilitato, usare il New-AzServiceBusQueue
comando con -RequiresDuplicateDetection
impostato su $True
.
New-AzServiceBusQueue -ResourceGroup myresourcegroup `
-NamespaceName mynamespace `
-QueueName myqueue `
-RequiresDuplicateDetection $True `
-DuplicateDetectionHistoryTimeWindow P1D
Per creare un argomento con rilevamento duplicati abilitato, usare il New-AzServiceBusTopic
comando con -RequiresDuplicateDetection
impostato su true
.
New-AzServiceBusTopic -ResourceGroup myresourcegroup `
-NamespaceName mynamespace `
-Name mytopic `
-RequiresDuplicateDetection $True
-DuplicateDetectionHistoryTimeWindow P1D
Gli esempi precedenti impostano anche le dimensioni della finestra di rilevamento duplicati usando il -DuplicateDetectionHistoryTimeWindow
parametro . Le dimensioni della finestra sono impostate su un giorno. Il valore predefinito è 10 minuti e il valore massimo consentito è sette giorni.
Per aggiornare una coda con una nuova dimensione della finestra di rilevamento, vedere l'esempio seguente. In questo esempio le dimensioni della finestra vengono aggiornate a sette giorni.
$queue=Get-AzServiceBusQueue -ResourceGroup myresourcegroup `
-NamespaceName mynamespace `
-QueueName myqueue
$queue.DuplicateDetectionHistoryTimeWindow='P7D'
Set-AzServiceBusQueue -ResourceGroup myresourcegroup `
-NamespaceName mynamespace `
-QueueName myqueue `
-QueueObj $queue
Per aggiornare un argomento con una nuova dimensione della finestra di rilevamento, vedere l'esempio seguente. In questo esempio le dimensioni della finestra vengono aggiornate a sette giorni.
$topic=Get-AzServiceBusTopic -ResourceGroup myresourcegroup `
-NamespaceName mynamespace `
-Name mytopic
$topic.DuplicateDetectionHistoryTimeWindow='P7D'
Set-AzServiceBusTopic -ResourceGroup myresourcegroup `
-NamespaceName mynamespace `
-Name mytopic `
-TopicObj $topic
Uso del modello di Azure Resource Manager
Per creare una coda con rilevamento duplicato abilitato, impostare su requiresDuplicateDetection
true
nella sezione delle proprietà della coda. Per altre informazioni, vedere Informazioni di riferimento sui modelli di spazi dei nomi/code Microsoft.ServiceBus. Specificare un valore per la duplicateDetectionHistoryTimeWindow
proprietà per impostare le dimensioni della finestra di rilevamento duplicati. Nell'esempio seguente viene impostato su un giorno.
{
"$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"
}
}
]
}
]
}
Per creare un argomento con rilevamento duplicato abilitato, impostare su requiresDuplicateDetection
true
nella sezione delle proprietà dell'argomento. Per altre informazioni, vedere Informazioni di riferimento sui modelli di spazi dei nomi/argomenti 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"
}
}
]
}
]
}
Passaggi successivi
Provare gli esempi nel linguaggio preferito per esplorare bus di servizio di Azure funzionalità.
- esempi di libreria client bus di servizio di Azure per .NET (versione più recente)
- esempi di libreria client bus di servizio di Azure per Java (versione più recente)
- esempi di libreria client bus di servizio di Azure per Python
- esempi di libreria client bus di servizio di Azure per JavaScript
- esempi di libreria client bus di servizio di Azure per TypeScript
Trovare esempi per le librerie client .NET e Java precedenti di seguito:
- esempi di libreria client bus di servizio di Azure per .NET (legacy)
- esempi di libreria client bus di servizio di Azure per Java (legacy)
Il 30 settembre 2026 verranno ritirati le librerie bus di servizio di Azure SDK WindowsAzure.ServiceBus, Microsoft.Azure.ServiceBus e com.microsoft.azure.servicebus, che non sono conformi alle linee guida di Azure SDK. Il supporto del protocollo SBMP verrà terminato, quindi non sarà più possibile usare questo protocollo dopo il 30 settembre 2026. Eseguire la migrazione alle librerie più recenti di Azure SDK, che offrono aggiornamenti critici della sicurezza e funzionalità migliorate, prima di tale data.
Anche se le librerie precedenti possono ancora essere usate oltre il 30 settembre 2026, non riceveranno più il supporto e gli aggiornamenti ufficiali da Microsoft. Per altre informazioni, vedere l'annuncio di ritiro del supporto.