Azure Service Bus kuyrukları ve abonelikleri için ileti süresi dolsa da teslim edilemeyen harfe çevirmeyi etkinleştirme

Konu başlıkları için Azure Service Bus kuyrukları ve abonelikleri, teslim edilemeyen ileti kuyruğu (DLQ) olarak adlandırılan ikincil bir alt sıra sağlar. Teslim edilmeyen iletiler kuyruğunun doğrudan oluşturulması gerekmez ve DLQ ana tüzel kişilikten bağımsız olarak silinemez ve yönetilemez. Teslim edilemeyen ileti kuyruğunun amacı, herhangi bir alıcıya teslim edilemeyen iletileri veya işlenemeyen iletileri tutmaktır. Daha fazla bilgi için bkz . Service Bus teslim edilemeyen ileti kuyruklarına genel bakış. Bu makalede, Service Bus kuyrukları ve abonelikleri için geçersiz harfe çevirmeyi etkinleştirmenin farklı yolları gösterilmektedir.

Azure portalı kullanarak

Azure portalında bir konu için kuyruk veya abonelik oluştururken, aşağıdaki örneklerde gösterildiği gibi ileti süresi dolduğunda geçersiz harfe çevirmeyi etkinleştir'i seçin.

Teslim edilemeyen harfleme etkin bir kuyruk oluşturma

Kuyruk oluşturma sırasında teslim edilemeyen harfe çevirmeyi etkinleştirme

Teslim edilemeyen harfleme etkin bir abonelik oluşturma

Abonelik oluşturma sırasında geçersiz harfe çevirmeyi etkinleştirme

Var olan bir kuyruk için ileti süre sonu ayarında teslim edilemeyen harfi güncelleştirme

Service Bus kuyruğunuzun Genel Bakış sayfasında, İletide teslim edilemeyen ileti süre sonu ayarı için geçerli değeri seçin. Aşağıdaki örnekte geçerli değer Devre Dışı'dır. Açılan pencerede iletinin sona erme tarihi üzerine geçersiz harf eklemeyi etkinleştirebilir veya devre dışı bırakabilirsiniz.

Var olan bir kuyruk için ileti süre sonu sırasında teslim edilemeyen iletileri etkinleştirme

Var olan bir abonelik için iletinin sona erme tarihi ayarında teslim edilemeyen yazıyı güncelleştirme

Service Bus aboneliğinizin Genel Bakış sayfasında, İletinin kullanımdan kaldırma süresi sonu ayarı için geçerli değeri seçin. Aşağıdaki örnekte geçerli değer Devre Dışı'dır. Açılan pencerede iletinin sona erme tarihi üzerine geçersiz harf eklemeyi etkinleştirebilir veya devre dışı bırakabilirsiniz.

Var olan bir abonelik için ileti süresi dolmasının sona ermesinde teslim edilemeyen postayı etkinleştirme

Azure CLI’yı kullanma

İleti süre sonu etkin olduğunda teslim edilemeyen bir kuyruk oluşturmak için olarak ayarlanmış truekomutunu --enable-dead-lettering-on-message-expiration kullanınaz servicebus queue create.

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

Var olan bir kuyrukaz servicebus queue update için ileti süre sonu ayarında teslim edilemeyen harf kullanımını etkinleştirmek için komutu olarak --enable-dead-lettering-on-message-expiration ayarlayıntrue.

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

İleti süre sonu etkinken geçersiz harf kullanımı etkin bir konu başlığına abonelik oluşturmak için olarak ayarlanmış truekomutunu --enable-dead-lettering-on-message-expiration kullanınaz servicebus topic subscription create.

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

Bir konu başlığı aboneliği için ileti süre sonu ayarında teslim edilemeyen harf kullanımını etkinleştirmek için komutunu set trueile --enable-dead-lettering-on-message-expiration kullanınaz servicebus topic subscription update.

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

Not

parametresini --forward-dead-lettered-messages-to kullanarak bir kuyruk veya konu belirtirseniz Service Bus, teslim edilemeyen iletileri otomatik olarak bu kuyruğa veya konuya iletir. Aşağıda bir örnek verilmiştir: 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’i kullanma

İleti süre sonu etkin olduğunda teslim edilemeyen bir kuyruk oluşturmak için olarak ayarlanmış $Truekomutunu -DeadLetteringOnMessageExpiration kullanınNew-AzServiceBusQueue.

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

Var olan bir kuyrukta ileti süre sonu ayarında teslim edilemeyen harfi etkinleştirmek için aşağıdaki örnekte gösterildiği gibi komutunu kullanınSet-AzServiceBusQueue.

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

$queue.DeadLetteringOnMessageExpiration=$True

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

İleti süre sonu etkin olduğunda geçersiz harf kullanımı etkin bir konu başlığına abonelik oluşturmak için olarak ayarlanmış $Truekomutunu -DeadLetteringOnMessageExpiration kullanınNew-AzServiceBusSubscription.

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

Var olan bir abonelik için ileti süre sonu ayarında geçersiz harfle göndermeyi etkinleştirmek için aşağıdaki örnğe bakın.

$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 

Not

parametresini kullanarak -ForwardDeadLetteredMessagesTo bir kuyruk veya konu belirtirseniz, Event Grid atılan iletileri otomatik olarak bu kuyruğa veya konuya iletir.

Azure Resource Manager şablonu kullanma

İleti süre sonu etkin olduğunda teslim edilemeyen bir kuyruk oluşturmak için kuyruk özellikleri bölümünde olarak trueayarlayındeadLetteringOnMessageExpiration. Daha fazla bilgi için bkz . Microsoft.ServiceBus ad alanları/kuyrukları şablon başvurusu.

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

İleti süre sonu etkin olduğunda teslim edilemeyen harfle yazılmış bir konu için abonelik oluşturmak için kuyruk özellikleri bölümünde olarak trueayarlayındeadLetteringOnMessageExpiration. Daha fazla bilgi için bkz . Microsoft.ServiceBus ad alanları/konular/abonelikler şablonu başvurusu.

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

Not

Özellik için forwardDeadLetteredMessagesTo bir kuyruk veya konu belirtirseniz, Event Grid atılan iletileri otomatik olarak bu kuyruğa veya konuya iletir.

Sonraki adımlar

Azure Service Bus özelliklerini keşfetmek için örnekleri istediğiniz dilde deneyin.

Eski .NET ve Java istemci kitaplıkları için örnekler bulun:

30 Eylül 2026'da Azure SDK yönergelerine uymayan WindowsAzure.ServiceBus, Microsoft.Azure.ServiceBus ve com.microsoft.azure.servicebus Azure Service Bus SDK kitaplıklarını kullanımdan kaldıracağız. Ayrıca SBMP protokolünün desteğini de sonlandıracağız, bu nedenle 30 Eylül 2026'da bu protokolü artık kullanamayacaksınız. Bu tarihten önce kritik güvenlik güncelleştirmeleri ve geliştirilmiş özellikler sunan en son Azure SDK kitaplıklarına geçiş yapın.

Eski kitaplıklar 30 Eylül 2026'dan sonra da kullanılabilir olsa da artık Microsoft'tan resmi destek ve güncelleştirmeler almayacaktır. Daha fazla bilgi için bkz . destek kullanımdan kaldırma duyurusu.