Share via


Verlopen van berichten inschakelen voor Azure Service Bus-wachtrijen en -abonnementen

Azure Service Bus-wachtrijen en -abonnementen voor onderwerpen bieden een secundaire submap, een wachtrij met dode letters (DLQ). De wachtrij met onbestelbare berichten hoeft niet expliciet te worden gemaakt en kan niet worden verwijderd of onafhankelijk van de hoofdentiteit worden beheerd. Het doel van de wachtrij met onbestelbare berichten is berichten te bewaren die niet kunnen worden bezorgd bij een ontvanger of berichten die niet kunnen worden verwerkt. Zie Overzicht van wachtrijen met dode letters van Service Bus voor meer informatie. In dit artikel vindt u verschillende manieren om dead lettering in te schakelen voor Service Bus-wachtrijen en -abonnementen.

Azure-portal gebruiken

Wanneer u een wachtrij of een abonnement voor een onderwerp in Azure Portal maakt, selecteert u Dead lettering inschakelen bij het verlopen van berichten, zoals wordt weergegeven in de volgende voorbeelden.

Een wachtrij maken waarvoor dead lettering is ingeschakeld

Dead lettering inschakelen op het moment dat de wachtrij is gemaakt

Een abonnement maken waarvoor dead lettering is ingeschakeld

Dead lettering inschakelen op het moment dat het abonnement is gemaakt

De instelling voor verlopen berichten bijwerken voor een bestaande wachtrij

Selecteer op de pagina Overzicht voor uw Service Bus-wachtrij de huidige waarde voor de instelling Voor het verlopen van berichten. In het volgende voorbeeld is de huidige waarde uitgeschakeld. U kunt dead lettering in- of uitschakelen voor het verlopen van berichten in het pop-upvenster.

Dead-lettering inschakelen voor het verlopen van berichten voor een bestaande wachtrij

De instelling voor verlopen berichten bijwerken voor een bestaand abonnement

Selecteer op de pagina Overzicht voor uw Service Bus-abonnement de huidige waarde voor de instelling Voor het verlopen van berichten. In het volgende voorbeeld is de huidige waarde uitgeschakeld. U kunt dead lettering in- of uitschakelen voor het verlopen van berichten in het pop-upvenster.

Verlopen van berichten inschakelen voor een bestaand abonnement

Azure CLI gebruiken

Als u een wachtrij wilt maken met een verlopen bericht, gebruikt u de az servicebus queue create opdracht die --enable-dead-lettering-on-message-expiration is ingesteld op true.

az servicebus queue create \
    --resource-group myresourcegroup \
    --namespace-name mynamespace \
    --name myqueue \
    --enable-dead-lettering-on-message-expiration true

Als u de instelling voor het verlopen van berichten voor een bestaande wachtrij wilt inschakelen, gebruikt u de az servicebus queue update opdracht die is --enable-dead-lettering-on-message-expiration ingesteld op true.

az servicebus queue update \
    --resource-group myresourcegroup \
    --namespace-name mynamespace \
    --name myqueue \
    --enable-dead-lettering-on-message-expiration true

Als u een abonnement wilt maken op een onderwerp waarvoor een verlopen bericht is uitgeschakeld, gebruikt u de az servicebus topic subscription create opdracht waarop --enable-dead-lettering-on-message-expiration is ingesteld true.

az servicebus topic subscription create \
    --resource-group myresourcegroup \
    --namespace-name mynamespace \
    --topic-name mytopic \
    --name mysubscription \
    --enable-dead-lettering-on-message-expiration true

Als u de instelling voor het verlopen van berichten voor een abonnement op een onderwerp wilt inschakelen, gebruikt u de az servicebus topic subscription update opdracht met --enable-dead-lettering-on-message-expiration settrue.

az servicebus topic subscription update \
    --resource-group myresourcegroup \
    --namespace-name mynamespace \
    --topic-name mytopic \
    --name mysubscription \
    --enable-dead-lettering-on-message-expiration true

Notitie

Als u een wachtrij of onderwerp opgeeft met behulp van de --forward-dead-lettered-messages-to parameter, stuurt Service Bus berichten met onbestelbare berichten automatisch door naar die wachtrij of dat onderwerp. Hier is een voorbeeld: 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.

Azure PowerShell gebruiken

Als u een wachtrij wilt maken met een verlopen bericht, gebruikt u de New-AzServiceBusQueue opdracht die -DeadLetteringOnMessageExpiration is ingesteld op $True.

New-AzServiceBusQueue -ResourceGroup myresourcegroup `
    -NamespaceName mynamespace `
    -QueueName myqueue `
    -DeadLetteringOnMessageExpiration $True

Als u de instelling voor verlopen berichten voor een bestaande wachtrij wilt inschakelen, gebruikt u de Set-AzServiceBusQueue opdracht zoals wordt weergegeven in het volgende voorbeeld.

$queue=Get-AzServiceBusQueue -ResourceGroup myresourcegroup `
    -NamespaceName mynamespace `
    -QueueName myqueue 

$queue.DeadLetteringOnMessageExpiration=$True

Set-AzServiceBusQueue -ResourceGroup myresourcegroup `
    -NamespaceName mynamespace `
    -QueueName myqueue `
    -QueueObj $queue

Als u een abonnement wilt maken voor een onderwerp waarvoor een verlopen bericht is uitgeschakeld, gebruikt u de New-AzServiceBusSubscription opdracht die -DeadLetteringOnMessageExpiration is ingesteld op $True.

New-AzServiceBusSubscription -ResourceGroup myresourcegroup `
    -NamespaceName mynamespace `
    -TopicName mytopic `
    -SubscriptionName mysubscription `
    -DeadLetteringOnMessageExpiration $True

Zie het volgende voorbeeld om de instelling voor verlopen berichten in te schakelen voor een bestaand abonnement.

$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 

Notitie

Als u een wachtrij of onderwerp opgeeft met behulp van de -ForwardDeadLetteredMessagesTo parameter, stuurt Event Grid berichten met een lege letter automatisch door naar die wachtrij of dat onderwerp.

Azure Resource Manager-sjabloon gebruiken

Als u een wachtrij wilt maken met dode letters voor verlopen berichten ingeschakeld, stelt u deadLetteringOnMessageExpiration in de sectie Wachtrijeigenschappen in op true. Zie de sjabloonreferenties voor Microsoft.ServiceBus-naamruimten/wachtrijen voor meer informatie.

{
  "$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
          }
        }
      ]
    }
  ]
}

Als u een abonnement wilt maken voor een onderwerp met een dode lettering voor het verlopen van berichten, stelt u deadLetteringOnMessageExpiration in de sectie Eigenschappen van de wachtrij in op true. Zie Microsoft.ServiceBus-naamruimten/onderwerpen/abonnementensjabloonreferenties voor meer informatie.

{
  "$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
              }
            }
          ]
        }
      ]
    }
  ]
}

Notitie

Als u een wachtrij of onderwerp voor de forwardDeadLetteredMessagesTo eigenschap opgeeft, worden in Event Grid berichten met onbeletterde berichten automatisch doorgestuurd naar die wachtrij of dat onderwerp.

Volgende stappen

Probeer de voorbeelden in de taal van uw keuze om Azure Service Bus-functies te verkennen.

Voorbeelden zoeken voor de oudere .NET- en Java-clientbibliotheken:

Op 30 september 2026 gaan we de Azure Service Bus SDK-bibliotheken WindowsAzure.ServiceBus, Microsoft.Azure.ServiceBus en com.microsoft.azure.servicebus buiten gebruik stellen, die niet voldoen aan de Azure SDK-richtlijnen. We beëindigen ook de ondersteuning van het SBMP-protocol, zodat u dit protocol na 30 september 2026 niet meer kunt gebruiken. Migreer naar de nieuwste Azure SDK-bibliotheken, die vóór die datum essentiële beveiligingsupdates en verbeterde mogelijkheden bieden.

Hoewel de oudere bibliotheken nog steeds meer dan 30 september 2026 kunnen worden gebruikt, ontvangen ze geen officiële ondersteuning en updates meer van Microsoft. Zie de aankondiging van de buitengebruikstelling van de ondersteuning voor meer informatie.