Habilitar letras mortas na expiração de mensagens para filas e assinaturas do Barramento de Serviço do Azure
As filas e assinaturas do Barramento de Serviço do Azure para tópicos fornecem uma subfila secundária, chamada de fila de letras mortas (DLQ). A fila de mensagens não entregues não precisa de ser criada explicitamente e não pode ser eliminada nem gerida independentemente da entidade principal. O objetivo da fila de mensagens mortas é armazenar mensagens que não podem ser entregues a nenhum destinatário ou mensagens que não podem ser processadas. Para obter mais informações, consulte Visão geral das filas de mensagens mortas do Service Bus. Este artigo mostra diferentes maneiras de habilitar letras inativas para filas e assinaturas do Service Bus.
Através do portal do Azure
Ao criar uma fila ou uma assinatura para um tópico no portal do Azure, selecione Habilitar letras mortas na expiração da mensagem, conforme mostrado nos exemplos a seguir.
Criar uma fila com letras mortas ativadas
Criar uma subscrição com letras inativas ativadas
Atualizar a configuração de letra inativa na expiração da mensagem para uma fila existente
Na página Visão geral da fila do Barramento de Serviço, selecione o valor atual para a configuração Letras mortas na expiração da mensagem. No exemplo a seguir, o valor atual é Disabled. Você pode ativar ou desativar letras mortas na expiração da mensagem na janela pop-up.
Atualizar as letras mortas na configuração de expiração da mensagem para uma assinatura existente
Na página Visão geral da sua assinatura do Service Bus, selecione o valor atual para a configuração Letras inativas na expiração da mensagem. No exemplo a seguir, o valor atual é Disabled. Você pode ativar ou desativar letras mortas na expiração da mensagem na janela pop-up.
Utilizar a CLI do Azure
Para criar uma fila com letras inativas na expiração da mensagem habilitada, use o az servicebus queue create
comando com --enable-dead-lettering-on-message-expiration
set 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 letras mortas na expiração da mensagem para uma fila existente, use o az servicebus queue update
comando com --enable-dead-lettering-on-message-expiration
set 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 para um tópico com letras mortas na expiração da mensagem habilitada, use o az servicebus topic subscription create
comando com --enable-dead-lettering-on-message-expiration
set to 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 letras mortas na expiração da mensagem para uma assinatura de um tópico, use o az servicebus topic subscription update
comando com --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 você especificar uma fila ou tópico usando o parâmetro, o --forward-dead-lettered-messages-to
Service Bus encaminhará automaticamente mensagens com letras mortas para essa fila ou tópico. Eis 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
.
Utilizar o Azure PowerShell
Para criar uma fila com letras inativas na expiração da mensagem habilitada, use o New-AzServiceBusQueue
comando com -DeadLetteringOnMessageExpiration
set como $True
.
New-AzServiceBusQueue -ResourceGroup myresourcegroup `
-NamespaceName mynamespace `
-QueueName myqueue `
-DeadLetteringOnMessageExpiration $True
Para habilitar a configuração de letras inativas na expiração da mensagem para uma fila existente, use o Set-AzServiceBusQueue
comando 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 para um tópico com letras mortas na expiração da mensagem habilitada, use o New-AzServiceBusSubscription
comando com -DeadLetteringOnMessageExpiration
definido como $True
.
New-AzServiceBusSubscription -ResourceGroup myresourcegroup `
-NamespaceName mynamespace `
-TopicName mytopic `
-SubscriptionName mysubscription `
-DeadLetteringOnMessageExpiration $True
Para habilitar a configuração de letras inativas na expiração da mensagem para uma assinatura existente, consulte 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
Nota
Se você especificar uma fila ou tópico usando o parâmetro, a -ForwardDeadLetteredMessagesTo
Grade de Eventos encaminhará automaticamente mensagens com letras mortas para essa fila ou tópico.
Com o modelo do Azure Resource Manager
Para criar uma fila com letras inativas na expiração da mensagem habilitada, defina deadLetteringOnMessageExpiration
na seção de propriedades da fila como true
. Para obter mais informações, consulte 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 letras inativas na expiração da mensagem habilitada, defina deadLetteringOnMessageExpiration
na seção de propriedades da fila como true
. Para obter mais informações, consulte Microsoft.ServiceBus namespaces/topics/subscriptions 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"
}
},
"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 você especificar uma fila ou tópico para a propriedade, a forwardDeadLetteredMessagesTo
Grade de Eventos encaminhará automaticamente mensagens com letras mortas para essa fila ou tópico.
Próximos passos
Experimente os exemplos no idioma de sua escolha para explorar os recursos do Barramento de Serviço do Azure.
- Exemplos de biblioteca de cliente do Barramento de Serviço do Azure para .NET (mais recente)
- Exemplos de biblioteca de cliente do Barramento de Serviço do Azure para Java (mais recente)
- Exemplos de biblioteca de cliente do Barramento de Serviço do Azure para Python
- Exemplos de biblioteca de cliente do Barramento de Serviço do Azure para JavaScript
- Exemplos de biblioteca de cliente do Barramento de Serviço do Azure para TypeScript
Encontre exemplos para as bibliotecas de cliente .NET e Java mais antigas:
- Exemplos de biblioteca de cliente do Barramento de Serviço do Azure para .NET (legado)
- Exemplos de biblioteca de cliente do Barramento de Serviço do Azure para Java (legado)
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, para que você não possa mais usar esse protocolo após 30 de setembro de 2026. Migre para as bibliotecas mais recentes do SDK do Azure, que oferecem atualizações de segurança críticas e recursos aprimorados, antes dessa data.
Embora as bibliotecas mais antigas ainda possam 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, consulte o anúncio de aposentadoria de suporte.