Abilitare messaggi non recapitabili alla scadenza dei messaggi per le code e le sottoscrizioni di bus di servizio di Azure
bus di servizio di Azure code e sottoscrizioni per gli argomenti forniscono una coda secondaria secondaria, denominata coda di messaggi non recapitabili (DLQ). Non è necessario creare in modo esplicito la coda di messaggi non recapitabili, che non può essere eliminata né altrimenti gestita indipendentemente dall'entità principale. Lo scopo della coda dei messaggi non recapitabili è conservare i messaggi che non possono essere recapitati ai ricevitori o che non possono essere elaborati. Per altre informazioni, vedere Panoramica di bus di servizio code di messaggi non recapitabili. Questo articolo illustra diversi modi per abilitare l'inserimento di messaggi non recapitabili per bus di servizio code e sottoscrizioni.
Con il portale di Azure
Quando si crea una coda o una sottoscrizione per un argomento nel portale di Azure, selezionare Abilita messaggi non recapitabili alla scadenza del messaggio, come illustrato negli esempi seguenti.
Creare una coda con messaggi non recapitabili abilitati
Creare una sottoscrizione con messaggi non recapitabili abilitati
Aggiornare l'impostazione di messaggi non recapitabili alla scadenza del messaggio per una coda esistente
Nella pagina Panoramica per la coda bus di servizio selezionare il valore corrente per l'impostazione Messaggi non recapitabili alla scadenza del messaggio. Nell'esempio seguente il valore corrente è Disabled. È possibile abilitare o disabilitare i messaggi non recapitabili alla scadenza del messaggio nella finestra popup.
Aggiornare l'impostazione di messaggi non recapitabili alla scadenza del messaggio per una sottoscrizione esistente
Nella pagina Panoramica per la sottoscrizione bus di servizio selezionare il valore corrente per l'impostazione Messaggi non recapitabili alla scadenza del messaggio. Nell'esempio seguente il valore corrente è Disabled. È possibile abilitare o disabilitare i messaggi non recapitabili alla scadenza del messaggio nella finestra popup.
Utilizzare l'interfaccia della riga di comando di Azure
Per creare una coda con messaggi non recapitabili alla scadenza del messaggio abilitata, usare il az servicebus queue create
comando con --enable-dead-lettering-on-message-expiration
impostato su true
.
az servicebus queue create \
--resource-group myresourcegroup \
--namespace-name mynamespace \
--name myqueue \
--enable-dead-lettering-on-message-expiration true
Per abilitare l'impostazione di messaggi non recapitabili per una coda esistente, usare il az servicebus queue update
comando con --enable-dead-lettering-on-message-expiration
impostato su true
.
az servicebus queue update \
--resource-group myresourcegroup \
--namespace-name mynamespace \
--name myqueue \
--enable-dead-lettering-on-message-expiration true
Per creare una sottoscrizione a un argomento con messaggi non recapitabili alla scadenza del messaggio abilitata, usare il az servicebus topic subscription create
comando con --enable-dead-lettering-on-message-expiration
impostato su true
.
az servicebus topic subscription create \
--resource-group myresourcegroup \
--namespace-name mynamespace \
--topic-name mytopic \
--name mysubscription \
--enable-dead-lettering-on-message-expiration true
Per abilitare l'impostazione di messaggi non recapitabili per una sottoscrizione a un argomento, usare il az servicebus topic subscription update
comando con --enable-dead-lettering-on-message-expiration
set true
.
az servicebus topic subscription update \
--resource-group myresourcegroup \
--namespace-name mynamespace \
--topic-name mytopic \
--name mysubscription \
--enable-dead-lettering-on-message-expiration true
Nota
Se si specifica una coda o un argomento usando il --forward-dead-lettered-messages-to
parametro , bus di servizio inoltra automaticamente i messaggi non recapitabili a tale coda o argomento. Ecco un esempio: az servicebus queue create --resource-group mysbusrg --namespace-name mysbusns --name myqueue --enable-dead-lettering-on-message-expiration true --forward-dead-lettered-messages-to myqueue2
.
Uso di Azure PowerShell
Per creare una coda con messaggi non recapitabili alla scadenza del messaggio abilitata, usare il New-AzServiceBusQueue
comando con -DeadLetteringOnMessageExpiration
impostato su $True
.
New-AzServiceBusQueue -ResourceGroup myresourcegroup `
-NamespaceName mynamespace `
-QueueName myqueue `
-DeadLetteringOnMessageExpiration $True
Per abilitare l'impostazione di messaggi non recapitabili per una coda esistente, usare il Set-AzServiceBusQueue
comando come illustrato nell'esempio seguente.
$queue=Get-AzServiceBusQueue -ResourceGroup myresourcegroup `
-NamespaceName mynamespace `
-QueueName myqueue
$queue.DeadLetteringOnMessageExpiration=$True
Set-AzServiceBusQueue -ResourceGroup myresourcegroup `
-NamespaceName mynamespace `
-QueueName myqueue `
-QueueObj $queue
Per creare una sottoscrizione per un argomento con messaggi non recapitabili alla scadenza del messaggio abilitata, usare il New-AzServiceBusSubscription
comando con -DeadLetteringOnMessageExpiration
impostato su $True
.
New-AzServiceBusSubscription -ResourceGroup myresourcegroup `
-NamespaceName mynamespace `
-TopicName mytopic `
-SubscriptionName mysubscription `
-DeadLetteringOnMessageExpiration $True
Per abilitare l'impostazione di messaggi non recapitabili per una sottoscrizione esistente, vedere l'esempio seguente.
$subscription=Get-AzServiceBusSubscription -ResourceGroup myresourcegroup `
-NamespaceName mynamespace `
-TopicName mytopic `
-SubscriptionName mysub
$subscription.DeadLetteringOnMessageExpiration=$True
Set-AzServiceBusSubscription -ResourceGroup myresourcegroup `
-NamespaceName mynamespace `
-Name mytopic `
-SubscriptionName mysub `
-SubscriptionObj $subscription
Nota
Se si specifica una coda o un argomento usando il -ForwardDeadLetteredMessagesTo
parametro , Griglia di eventi inoltra automaticamente i messaggi non recapitabili a tale coda o argomento.
Uso del modello di Azure Resource Manager
Per creare una coda con messaggi non recapitabili alla scadenza del messaggio abilitata, impostare deadLetteringOnMessageExpiration
nella sezione delle proprietà della coda su true
. Per altre informazioni, vedere Informazioni di riferimento sui modelli di spazi dei nomi/code Microsoft.ServiceBus.
{
"$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": {
"deadLetteringOnMessageExpiration": true
}
}
]
}
]
}
Per creare una sottoscrizione per un argomento con messaggi non recapitabili alla scadenza del messaggio abilitata, impostare deadLetteringOnMessageExpiration
nella sezione delle proprietà della coda su true
. Per altre informazioni, vedere Informazioni di riferimento sul modello Microsoft.ServiceBus namespaces/topics/subscriptions.
{
"$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"
}
},
"serviceBusSubscriptionName": {
"type": "string",
"metadata": {
"description": "Name of the Subscription"
}
},
"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": {
"maxSizeInMegabytes": 1024
},
"resources": [
{
"apiVersion": "2017-04-01",
"name": "[parameters('serviceBusSubscriptionName')]",
"type": "Subscriptions",
"dependsOn": [
"[parameters('serviceBusTopicName')]"
],
"properties": {
"deadLetteringOnMessageExpiration": true
}
}
]
}
]
}
]
}
Nota
Se si specifica una coda o un argomento per la forwardDeadLetteredMessagesTo
proprietà , Griglia di eventi inoltra automaticamente i messaggi non recapitabili a tale coda o argomento.
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:
- 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 ritirate le librerie dell'SDK del bus di servizio di Azure WindowsAzure.ServiceBus, Microsoft.Azure.ServiceBus e com.microsoft.azure.servicebus, che non sono conformi alle linee guida di Azure SDK. Verrà terminato anche il supporto del protocollo SBMP, 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 del ritiro del supporto.