Azure Service Bus kuyrukları ve abonelikleri için otomatik iletmeyi etkinleştirme

Service Bus otomatik iletme özelliği, bir kuyruğu veya aboneliği aynı ad alanının parçası olan başka bir kuyruğa veya konuya zincirlemenizi sağlar. Otomatik iletme etkinleştirildiğinde Service Bus, ilk kuyruğa veya aboneliğe (kaynak) yerleştirilen iletileri otomatik olarak kaldırır ve bunları ikinci kuyruğa veya konuya (hedef) yerleştirir. Hedef varlığa doğrudan ileti göndermek hala mümkündür. Daha fazla bilgi için bkz . Otomatik iletme ile Service Bus varlıklarını zincirleme. Bu makalede, Service Bus kuyrukları ve abonelikleri için otomatik iletmeyi etkinleştirmenin farklı yolları gösterilmektedir.

Önemli

Service Bus'ın temel katmanı otomatik iletme özelliğini desteklemez. Standart ve premium katmanlar özelliği destekler. Bu katmanlar arasındaki farklar için bkz . Service Bus fiyatlandırması.

Azure portalı kullanarak

Azure portalında bir konu için kuyruk veya abonelik oluştururken, aşağıdaki örneklerde gösterildiği gibi İletileri kuyruğa/konuya ilet'i seçin. Ardından, iletilerin kuyruğa mı yoksa konuya mı iletileceğini belirtin. Bu örnekte Kuyruk seçeneği belirlenir ve aynı ad alanından bir kuyruk seçilir.

Otomatik iletme etkin bir kuyruk oluşturma

Enable auto forward at the time of the queue creation

Otomatik iletme etkin bir konu için abonelik oluşturma

Enable auto forward at the time of the subscription creation

Mevcut bir kuyruk için otomatik iletme ayarını güncelleştirme

Service Bus kuyruğunuzun Genel Bakış sayfasında İletileri ilet ayarının geçerli değerini seçin. Aşağıdaki örnekte geçerli değer Devre Dışı'dır. İletileri kuyruğa/konuya ilet penceresinde, iletilerin iletılmasını istediğiniz kuyruğu veya konuyu seçebilirsiniz.

Enable auto forward for an existing queue

Mevcut abonelik için otomatik iletme ayarını güncelleştirme

Service Bus aboneliğinizin Genel Bakış sayfasında İletileri ilet ayarının geçerli değerini seçin. Aşağıdaki örnekte geçerli değer Devre Dışı'dır. İletileri kuyruğa/konuya ilet penceresinde, iletilerin iletılmasını istediğiniz kuyruğu veya konuyu seçebilirsiniz.

Enable auto forward for an existing subscription

Azure CLI’yı kullanma

Otomatik iletmenin etkinleştirildiği bir kuyruk oluşturmak için, iletilerin az servicebus queue create iletilmesi istediğiniz kuyruk veya konu başlığı adına ayarlanmış komutunu --forward-to kullanın.

az servicebus queue create \
    --resource-group myresourcegroup \
    --namespace-name mynamespace \
    --name myqueue \
    --forward-to myqueue2

Mevcut bir kuyruğun otomatik iletme ayarını güncelleştirmek için, iletilerin az servicebus queue update iletılmasını istediğiniz kuyruğun veya konunun adına ayarlanmış komutunu --forward-to kullanın.

az servicebus queue update \
    --resource-group myresourcegroup \
    --namespace-name mynamespace \
    --name myqueue \
    --forward-to myqueue2

Otomatik iletmenin etkinleştirildiği bir konuya abonelik oluşturmak için, iletilerin az servicebus topic subscription create iletılmasını istediğiniz kuyruk veya konu adı olarak ayarlanmış komutunu --forward-to kullanın.

az servicebus topic subscription create \
    --resource-group myresourcegroup \
    --namespace-name mynamespace \
    --topic-name mytopic \
    --name mysubscription \
    --forward-to myqueue2

Bir aboneliğin otomatik iletme ayarını bir konuya güncelleştirmek için, iletilerin az servicebus topic subscription update iletılmasını istediğiniz kuyruk veya konu başlığı adına ayarlanmış komutunu --forward-to kullanın.

az servicebus topic subscription create \
    --resource-group myresourcegroup \
    --namespace-name mynamespace \
    --topic-name mytopic \
    --name mysubscription \
    --forward-to myqueue2

Azure PowerShell’i kullanma

Otomatik iletmenin etkinleştirildiği bir kuyruk oluşturmak için, iletilerin New-AzServiceBusQueue iletilmesi istediğiniz kuyruk veya konu başlığı adına ayarlanmış komutunu -ForwardTo kullanın.

New-AzServiceBusQueue -ResourceGroup myresourcegroup `
    -NamespaceName mynamespace `
    -QueueName myqueue `
    -ForwardTo myqueue2

Mevcut bir kuyruğun otomatik iletme ayarını güncelleş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.ForwardTo='myqueue2'

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

Otomatik iletmenin etkinleştirildiği bir konu için abonelik oluşturmak için, iletilerin New-AzServiceBusSubscription iletılmasını istediğiniz kuyruk veya konu adı olarak ayarlanmış komutunu -ForwardTo kullanın.

New-AzServiceBusSubscription -ResourceGroup myresourcegroup `
    -NamespaceName mynamespace `
    -TopicName mytopic `
    -SubscriptionName mysubscription `
    -ForwardTo myqueue2

Mevcut bir aboneliğin otomatik iletme ayarını güncelleştirmek için aşağıdaki örne bakın.

$subscription=Get-AzServiceBusSubscription -ResourceGroup myresourcegroup `
    -NamespaceName mynamespace `
    -TopicName mytopic `
    -SubscriptionName mysub

$subscription.ForwardTo='mytopic2'

Set-AzServiceBusSubscription -ResourceGroup myresourcegroup `
    -NamespaceName mynamespace `
    -Name mytopic `
    -SubscriptionName mysub `
    -SubscriptionObj $subscription 

Azure Resource Manager şablonu kullanma

Otomatik iletmenin etkinleştirildiği bir kuyruk oluşturmak için, kuyruk özellikleri bölümünde iletilerin iletılmasını istediğiniz kuyruğun veya konunun adına ayarlayınforwardTo. 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": {
            "forwardTo": "myqueue2"
          }
        }
      ]
    }
  ]
}

Otomatik iletmenin etkinleştirildiği bir konu için abonelik oluşturmak için, kuyruk özellikleri bölümünde iletilerin iletılmasını istediğiniz kuyruk veya konu adı olarak ayarlayınforwardTo. 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": {
                "forwardTo": "myqueue2"
              }
            }
          ]
        }
      ]
    }
  ]
}

.NET

Azure.Messaging.ServiceBus (en son)

Otomatik iletme özelliğini etkinleştirmek için CreateQueueOptions.ForwardTo veya CreateSubscriptionOptions.ForwardTo ayarlarını yapabilir ve ardından veya CreateSubscriptionOptions parametreleri alan CreateQueueOptions CreateQueueAsync veya CreateSubscriptionAsync yöntemlerini kullanabilirsiniz.

Microsoft.Azure.ServiceBus (eski)

Aşağıdaki örnekte olduğu gibi kaynak için QueueDescription.ForwardTo veya SubscriptionDescription.ForwardTo değerini ayarlayarak otomatik zorlamayı etkinleştirebilirsiniz:

SubscriptionDescription srcSubscription = new SubscriptionDescription (srcTopic, srcSubscriptionName);
srcSubscription.ForwardTo = destTopic;
namespaceManager.CreateSubscription(srcSubscription));

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.

Java

azure-messaging-servicebus (en son)

CreateQueueOptions.setForwardTo(String forwardTo) yöntemini veya CreateSubscriptionOptions.setForwardTo(String forwardTo) yöntemini ve ardından createQueue yöntemini veya veya CreateSubscriptionOptions parametreleri alan CreateQueueOptions createSubscription yöntemini kullanarak otomatik iletme özelliğini etkinleştirebilirsiniz.

azure-servicebus (eski)

Kaynak için QueueDescription.setForwardTo(String forwardTo) veya SubscriptionDescription.setForwardTo(String forwardTo) kullanarak otomatik zorlamayı etkinleştirebilirsiniz.

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.

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 örnekleri aşağıda bulabilirsiniz:

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.