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ěruté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

Enable dead lettering at the time of the queue creation

Vytvoření předplatného s povoleným nedoručeným dopisem

Enable dead lettering at the time of the subscription creation

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.

Enable dead-lettering on message expiration for an existing queue

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.

Enable dead-lettering on message expiration for an existing subscription

Použití 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 truehodnotu .

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 truehodnotu .

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 , Event Grid 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 $Truehodnotu .

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 truehodnotu . 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 truehodnotu . 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 pro starší klientské knihovny .NET a Java najdete níže:

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.