Habilitar mensagens mortas no término da mensagem das filas e das assinaturas do Barramento de Serviço do Azure
As filas e as assinaturas do Barramento de Serviço do Azure para tópicos fornecem uma subfila secundária chamada DLQ (fila de mensagens mortas). A fila de mensagens mortas não precisa ser explicitamente criada e não pode ser excluída ou gerenciada independentemente da entidade principal. A finalidade da fila de mensagens mortas é manter mensagens que não podem ser entregues a nenhum receptor ou mensagens que não puderam ser processadas. Para obter mais informações, confira a Visão geral das filas de mensagens mortas do Barramento de Serviço. Este artigo mostra diferentes maneiras de habilitar as mensagens mortas em filas e assinaturas do Barramento de Serviço.
Usando o Portal do Azure
Ao criar uma fila ou uma assinatura para um tópico no portal do Azure, selecione Habilitar mensagens mortas no término da mensagem, conforme mostrado nos exemplos a seguir.
Criar uma fila com mensagens mortas habilitadas
Criar uma assinatura com mensagens mortas habilitada
Atualizar a configuração de mensagens mortas no término da mensagem em uma fila existente
Na página Visão geral da fila do Barramento de Serviço, selecione o valor atual de Mensagens mortas na configuração do término da mensagem. No exemplo a seguir, o valor atual é Desabilitado. Você pode habilitar ou desabilitar mensagens mortas no término da mensagem na janela de pop-up.
Atualizar a configuração de mensagens mortas no término da mensagem para uma assinatura existente
Na página Visão geral da assinatura do Barramento de Serviço, selecione o valor atual de Mensagens mortas na configuração do término da mensagem. No exemplo a seguir, o valor atual é Desabilitado. Você pode habilitar ou desabilitar mensagens mortas no término da mensagem na janela de pop-up.
Usando a CLI do Azure
Para criar uma fila com mensagens mortas habilitadas no término da mensagem, use o comando az servicebus queue create
com --enable-dead-lettering-on-message-expiration
definido como true
.
az servicebus queue create \
--resource-group myresourcegroup \
--namespace-name mynamespace \
--name myqueue \
--enable-dead-lettering-on-message-expiration true
Para habilitar a configuração de mensagens mortas no término da mensagem em uma fila existente, use o comando az servicebus queue update
com --enable-dead-lettering-on-message-expiration
definido como true
.
az servicebus queue update \
--resource-group myresourcegroup \
--namespace-name mynamespace \
--name myqueue \
--enable-dead-lettering-on-message-expiration true
Para criar uma assinatura em um tópico com mensagens mortas habilitadas no término da mensagem, use o comando az servicebus topic subscription create
com --enable-dead-lettering-on-message-expiration
definido como true
.
az servicebus topic subscription create \
--resource-group myresourcegroup \
--namespace-name mynamespace \
--topic-name mytopic \
--name mysubscription \
--enable-dead-lettering-on-message-expiration true
Para habilitar a configuração de mensagens mortas no término da mensagem para uma assinatura em um tópico, use o comando az servicebus topic subscription update
com --enable-dead-lettering-on-message-expiration
definido como true
.
az servicebus topic subscription update \
--resource-group myresourcegroup \
--namespace-name mynamespace \
--topic-name mytopic \
--name mysubscription \
--enable-dead-lettering-on-message-expiration true
Observação
Se você especificar uma fila ou tópico usando o parâmetro --forward-dead-lettered-messages-to
, o Barramento de Serviço encaminha automaticamente mensagens mortas para essa fila ou tópico. Aqui está um exemplo: 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
.
Usando o PowerShell do Azure
Para criar uma fila com mensagens mortas habilitadas no término da mensagem, use o comando New-AzServiceBusQueue
com -DeadLetteringOnMessageExpiration
definido como $True
.
New-AzServiceBusQueue -ResourceGroup myresourcegroup `
-NamespaceName mynamespace `
-QueueName myqueue `
-DeadLetteringOnMessageExpiration $True
Para habilitar a configuração de mensagens mortas no término da mensagem para uma fila existente, use o comando Set-AzServiceBusQueue
conforme mostrado no exemplo a seguir.
$queue=Get-AzServiceBusQueue -ResourceGroup myresourcegroup `
-NamespaceName mynamespace `
-QueueName myqueue
$queue.DeadLetteringOnMessageExpiration=$True
Set-AzServiceBusQueue -ResourceGroup myresourcegroup `
-NamespaceName mynamespace `
-QueueName myqueue `
-QueueObj $queue
Para criar uma assinatura de um tópico com mensagens mortas habilitadas no término da mensagem, use o comando New-AzServiceBusSubscription
com -DeadLetteringOnMessageExpiration
definido como $True
.
New-AzServiceBusSubscription -ResourceGroup myresourcegroup `
-NamespaceName mynamespace `
-TopicName mytopic `
-SubscriptionName mysubscription `
-DeadLetteringOnMessageExpiration $True
Para habilitar a configuração de mensagens mortas no término da mensagem em uma assinatura existente, confira o exemplo a seguir.
$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
Observação
Se você especificar uma fila ou um tópico usando o parâmetro -ForwardDeadLetteredMessagesTo
, a Grade de Eventos encaminhará automaticamente as mensagens mortas para a fila ou o tópico.
Usar o modelo do Azure Resource Manager
Para criar uma fila com mensagens mortas habilitadas no término da mensagem, defina deadLetteringOnMessageExpiration
na seção de propriedades da fila como true
. Para obter mais informações, confira Referência de modelo de namespaces/filas do 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
}
}
]
}
]
}
Para criar uma assinatura para um tópico com mensagens mortas habilitadas no término da mensagem, defina deadLetteringOnMessageExpiration
na seção de propriedades da fila como true
. Para obter mais informações, confira Referência de modelo de namespaces/tópicos/assinaturas do 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"
}
},
"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
}
}
]
}
]
}
]
}
Observação
Se você especificar uma fila ou um tópico para a propriedade forwardDeadLetteredMessagesTo
, a Grade de Eventos encaminhará automaticamente as mensagens mortas para a fila ou o tópico.
Próximas etapas
Experimente os exemplos no idioma de sua escolha para explorar os recursos do Barramento de Serviço do Azure.
- Exemplos da biblioteca de clientes do Barramento de Serviço do Azure para .NET (mais recentes)
- Amostras da biblioteca de clientes do Barramento de Serviço do Azure para Java (mais recentes)
- Exemplos da biblioteca de clientes do Barramento de Serviço do Azure para Python
- Exemplos da biblioteca de clientes do Barramento de Serviço do Azure para JavaScript
- Exemplos da biblioteca de clientes do Barramento de Serviço do Azure para TypeScript
Encontre exemplos de bibliotecas de clientes .NET e Java mais antigas:
- Exemplos da biblioteca de clientes do Barramento de Serviço do Azure para .NET (herdado)
- Amostras da biblioteca de cliente do Barramento de Serviço do Azure para Java (herdado)
Em 30 de setembro de 2026, desativaremos as bibliotecas do SDK do Barramento de Serviço do Azure WindowsAzure.ServiceBus, Microsoft.Azure.ServiceBus e com.microsoft.azure.servicebus, que não estão em conformidade com as diretrizes do SDK do Azure. Também encerraremos o suporte ao protocolo SBMP, portanto, ele não poderá mais ser usado após 30 de setembro de 2026. Antes dessa data, migre para as bibliotecas mais recentes do SDK do Azure, que oferecem atualizações de segurança críticas e funcionalidades aprimoradas.
Embora as bibliotecas mais antigas ainda poderão ser usadas após 30 de setembro de 2026, elas não receberão mais suporte e atualizações oficiais da Microsoft. Para obter mais informações, confira o anúncio de desativação do suporte.