Povolení nedoručených zpráv při vypršení platnosti zpráv pro fronty a odběry služby Azure Service Bus
Fronty a odběry služby Azure Service Bus pro témata poskytují sekundární podknižní frontu označovanou jako fronta nedoručených zpráv (DLQ). Frontu nedoručených zpráv není potřeba explicitně vytvářet a není možné ji odstranit ani spravovat nezávisle na hlavní entitě. Účelem fronty nedoručených zpráv je uchovávat zprávy, které nelze doručovat žádnému příjemci, ani zprávy, které nelze zpracovat. Další informace najdete v tématu Přehled front nedoručených zpráv služby Service Bus. Tento článek ukazuje různé způsoby povolení nedoručených zpráv pro fronty a předplatná služby Service Bus.
Pomocí webu Azure Portal
Při vytváření fronty nebo odběru tématu na webu Azure Portal vyberte Povolit nedoručených zpráv při vypršení platnosti zprávy, jak je znázorněno v následujících příkladech.
Vytvoření fronty s povoleným nedoručeným dopisem
Vytvoření předplatného s povoleným nedoručeným dopisem
Aktualizace nedoručených zpráv při nastavení vypršení platnosti zprávy pro existující frontu
Na stránce Přehled pro frontu služby Service Bus vyberte aktuální hodnotu pro nedoručených dopisů při nastavení vypršení platnosti zprávy. V následujícím příkladu je aktuální hodnota Zakázáno. V automaticky otevíraném okně můžete povolit nebo zakázat nedoručených zpráv.
Aktualizace nedoručených zpráv v nastavení vypršení platnosti zprávy pro stávající předplatné
Na stránce Přehled vašeho předplatného služby Service Bus vyberte aktuální hodnotu nedoručených zpráv při nastavení vypršení platnosti zprávy. V následujícím příkladu je aktuální hodnota Zakázáno. V automaticky otevíraném okně můžete povolit nebo zakázat nedoručených zpráv.
Pomocí Azure CLI
Chcete-li vytvořit frontu s nedoručenými dopisy při povoleném vypršení platnosti zprávy, použijte az servicebus queue create
příkaz s nastaveným --enable-dead-lettering-on-message-expiration
na true
hodnotu .
az servicebus queue create \
--resource-group myresourcegroup \
--namespace-name mynamespace \
--name myqueue \
--enable-dead-lettering-on-message-expiration true
Chcete-li povolit nedoručení pro nastavení vypršení platnosti zprávy pro existující frontuaz servicebus queue update
, použijte příkaz s nastavenou --enable-dead-lettering-on-message-expiration
na true
hodnotu .
az servicebus queue update \
--resource-group myresourcegroup \
--namespace-name mynamespace \
--name myqueue \
--enable-dead-lettering-on-message-expiration true
Pokud chcete vytvořit odběr tématu s povoleným nedoručeným dopisem při vypršení platnosti zprávy, použijte az servicebus topic subscription create
příkaz s nastaveným --enable-dead-lettering-on-message-expiration
nastavením true
.
az servicebus topic subscription create \
--resource-group myresourcegroup \
--namespace-name mynamespace \
--topic-name mytopic \
--name mysubscription \
--enable-dead-lettering-on-message-expiration true
Chcete-li povolit nedoručených zpráv nastavení vypršení platnosti zprávy pro odběr tématu, použijte az servicebus topic subscription update
příkaz se --enable-dead-lettering-on-message-expiration
sadou true
.
az servicebus topic subscription update \
--resource-group myresourcegroup \
--namespace-name mynamespace \
--topic-name mytopic \
--name mysubscription \
--enable-dead-lettering-on-message-expiration true
Poznámka:
Pokud zadáte frontu nebo téma pomocí parametru --forward-dead-lettered-messages-to
, Service Bus automaticky předá zprávy s nedoručeným písmenem do této fronty nebo tématu. Následuje příklad: 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
.
Použití Azure Powershell
Chcete-li vytvořit frontu s nedoručenými dopisy při povoleném vypršení platnosti zprávy, použijte New-AzServiceBusQueue
příkaz s nastaveným -DeadLetteringOnMessageExpiration
na $True
hodnotu .
New-AzServiceBusQueue -ResourceGroup myresourcegroup `
-NamespaceName mynamespace `
-QueueName myqueue `
-DeadLetteringOnMessageExpiration $True
Pokud chcete u existující fronty povolit nedoručených zpráv nastavení vypršení platnosti zprávy, použijte Set-AzServiceBusQueue
příkaz, jak je znázorněno v následujícím příkladu.
$queue=Get-AzServiceBusQueue -ResourceGroup myresourcegroup `
-NamespaceName mynamespace `
-QueueName myqueue
$queue.DeadLetteringOnMessageExpiration=$True
Set-AzServiceBusQueue -ResourceGroup myresourcegroup `
-NamespaceName mynamespace `
-QueueName myqueue `
-QueueObj $queue
Pokud chcete vytvořit odběr tématu s povoleným nedoručeným dopisem při vypršení platnosti zprávy, použijte New-AzServiceBusSubscription
příkaz s nastaveným -DeadLetteringOnMessageExpiration
nastavením $True
.
New-AzServiceBusSubscription -ResourceGroup myresourcegroup `
-NamespaceName mynamespace `
-TopicName mytopic `
-SubscriptionName mysubscription `
-DeadLetteringOnMessageExpiration $True
Pokud chcete u stávajícího předplatného povolit nedoručených zpráv nastavení vypršení platnosti zprávy, podívejte se na následující příklad.
$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
Poznámka:
Pokud zadáte frontu nebo téma pomocí parametru -ForwardDeadLetteredMessagesTo
, Event Grid automaticky předá zprávy s nedoručeným písmenem do této fronty nebo tématu.
Pomocí šablony Azure Resource Manageru
Chcete-li vytvořit frontu s nedoručeným dopisem při povoleném vypršení platnosti zprávy, nastavte deadLetteringOnMessageExpiration
v části vlastností fronty na true
hodnotu . Další informace naleznete v tématu Microsoft.ServiceBus namespaces/queues template reference.
{
"$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
}
}
]
}
]
}
Pokud chcete vytvořit odběr tématu s povoleným nedoručeným dopisem při vypršení platnosti zprávy, nastavte deadLetteringOnMessageExpiration
v části vlastností fronty na true
hodnotu . Další informace najdete v tématu Microsoft.ServiceBus – obory názvů/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
}
}
]
}
]
}
]
}
Poznámka:
Pokud pro vlastnost zadáte frontu nebo téma forwardDeadLetteredMessagesTo
, Event Grid automaticky předá zprávy s nedoručeným dopisem do této fronty nebo tématu.
Další kroky
Vyzkoušejte ukázky v jazyce podle vašeho výběru a prozkoumejte funkce služby Azure Service Bus.
- Ukázky klientské knihovny služby Azure Service Bus pro .NET (nejnovější)
- Ukázky klientské knihovny služby Azure Service Bus pro Javu (nejnovější)
- Ukázky klientské knihovny služby Azure Service Bus pro Python
- Ukázky klientské knihovny služby Azure Service Bus pro JavaScript
- Ukázky klientské knihovny služby Azure Service Bus pro TypeScript
Projděte si ukázky pro starší klientské knihovny .NET a Java:
- Ukázky klientské knihovny služby Azure Service Bus pro .NET (starší verze)
- Ukázky klientské knihovny služby Azure Service Bus pro Javu (starší verze)
30. září 2026 vyřadíme knihovny sady SDK služby Azure Service Bus pro WindowsAzure.ServiceBus, Microsoft.Azure.ServiceBus a com.microsoft.azure.servicebus, které nevyhovují pokynům sady Azure SDK. Také ukončíme podporu protokolu SBMP, takže tento protokol už nebudete moct používat po 30. září 2026. Před tímto datem migrujte na nejnovější knihovny sady Azure SDK, které nabízejí důležité aktualizace zabezpečení a vylepšené funkce.
I když starší knihovny je možné používat i po 30. září 2026, nebudou už od Microsoftu dostávat oficiální podporu a aktualizace. Další informace najdete v oznámení o vyřazení podpory.