Włączanie automatycznego przesyłania dalej dla kolejek i subskrypcji usługi Azure Service Bus

Funkcja automatycznego przesyłania dalej usługi Service Bus umożliwia łączenie kolejki lub subskrypcji z inną kolejką lub tematem, który jest częścią tej samej przestrzeni nazw. Po włączeniu automatycznego przesyłania dalej usługa Service Bus automatycznie usuwa komunikaty umieszczone w pierwszej kolejce lub subskrypcji (źródle) i umieszcza je w drugiej kolejce lub temacie (miejscu docelowym). Nadal można wysłać wiadomość bezpośrednio do jednostki docelowej. Aby uzyskać więcej informacji, zobacz Łączenie jednostek usługi Service Bus z automatycznym przekazywaniem. W tym artykule przedstawiono różne sposoby włączania automatycznego przesyłania dalej dla kolejek i subskrypcji usługi Service Bus.

Ważne

Warstwa podstawowa usługi Service Bus nie obsługuje funkcji automatycznego przesyłania dalej. Warstwy Standardowa i Premium obsługują tę funkcję. Aby uzyskać różnice między tymi warstwami, zobacz Cennik usługi Service Bus.

Przy użyciu witryny Azure Portal

Podczas tworzenia kolejki lub subskrypcji tematu w witrynie Azure Portal wybierz pozycję Prześlij komunikaty do kolejki/tematu, jak pokazano w poniższych przykładach. Następnie określ, czy komunikaty mają być przekazywane do kolejki, czy tematu. W tym przykładzie wybrano opcję Kolejka i wybrano kolejkę z tej samej przestrzeni nazw.

Tworzenie kolejki z włączonym automatycznym przekazywaniem

Enable auto forward at the time of the queue creation

Tworzenie subskrypcji tematu z włączonym automatycznym przekazywaniem

Enable auto forward at the time of the subscription creation

Aktualizowanie ustawienia automatycznego przesyłania dalej dla istniejącej kolejki

Na stronie Przegląd kolejki usługi Service Bus wybierz bieżącą wartość dla ustawienia Prześlij dalej komunikaty. W poniższym przykładzie bieżąca wartość to Wyłączone. W oknie Przekazywanie komunikatów do kolejki/tematu możesz wybrać kolejkę lub temat, w którym mają być przekazywane komunikaty.

Enable auto forward for an existing queue

Aktualizowanie ustawienia automatycznego przesyłania dalej dla istniejącej subskrypcji

Na stronie Przegląd subskrypcji usługi Service Bus wybierz bieżącą wartość dla ustawienia Prześlij dalej komunikaty. W poniższym przykładzie bieżąca wartość to Wyłączone. W oknie Przekazywanie komunikatów do kolejki/tematu możesz wybrać kolejkę lub temat, w którym mają być przekazywane komunikaty.

Enable auto forward for an existing subscription

Korzystanie z interfejsu wiersza polecenia platformy Azure

Aby utworzyć kolejkę z włączonym automatycznym przekazywaniem, użyj az servicebus queue create polecenia z ustawioną --forward-to nazwą kolejki lub tematu, do którego mają być przekazywane komunikaty.

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

Aby zaktualizować ustawienie automatycznego przesyłania dalej dla istniejącej kolejki, użyj az servicebus queue update polecenia z ustawioną --forward-to nazwą kolejki lub tematu, do którego mają być przekazywane komunikaty.

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

Aby utworzyć subskrypcję tematu z włączonym automatycznym przekazywaniem, użyj az servicebus topic subscription create polecenia z --forward-to ustawioną nazwą kolejki lub tematu, do którego mają być przekazywane komunikaty.

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

Aby zaktualizować ustawienie automatycznego przesyłania dalej dla subskrypcji do tematu, użyj az servicebus topic subscription update polecenia z --forward-to ustawioną nazwą kolejki lub tematu, do którego mają być przekazywane komunikaty.

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

Korzystanie z programu Azure PowerShell

Aby utworzyć kolejkę z włączonym automatycznym przekazywaniem, użyj New-AzServiceBusQueue polecenia z ustawioną -ForwardTo nazwą kolejki lub tematu, do którego mają być przekazywane komunikaty.

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

Aby zaktualizować ustawienie automatycznego przesyłania dalej dla istniejącej kolejki, użyj Set-AzServiceBusQueue polecenia, jak pokazano w poniższym przykładzie.

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

$queue.ForwardTo='myqueue2'

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

Aby utworzyć subskrypcję tematu z włączonym automatycznym przekazywaniem, użyj New-AzServiceBusSubscription polecenia z -ForwardTo ustawioną nazwą kolejki lub tematu, do którego mają być przekazywane komunikaty.

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

Aby zaktualizować ustawienie automatycznego przesyłania dalej dla istniejącej subskrypcji, zobacz poniższy przykład.

$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 

Korzystanie z szablonu usługi Azure Resource Manager

Aby utworzyć kolejkę z włączonym automatycznym przekazywaniem, ustaw forwardTo w sekcji właściwości kolejki nazwę kolejki lub tematu, do którego mają być przekazywane komunikaty. Aby uzyskać więcej informacji, zobacz Dokumentacja szablonu przestrzeni nazw/kolejek Microsoft.ServiceBus.

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

Aby utworzyć subskrypcję tematu z włączonym automatycznym przekazywaniem, ustaw forwardTo w sekcji właściwości kolejki nazwę kolejki lub tematu, do którego mają być przekazywane komunikaty. Aby uzyskać więcej informacji, zobacz Microsoft.ServiceBus namespaces/topics/subscriptions template reference (Dokumentacja szablonu Microsoft.ServiceBus/topics/subscriptions).

{
  "$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 (najnowsza wersja)

Funkcję automatycznego przesyłania dalej można włączyć, ustawiając metod CreateQueueOptions.ForwardTo lub CreateSubscriptionOptions.ForwardTo, a następnie używając metod CreateQueueAsync lub CreateSubscriptionAsync, które przyjmują CreateQueueOptions lub CreateSubscriptionOptions parametry.

Microsoft.Azure.ServiceBus (starsza wersja)

Autoforwarding można włączyć, ustawiając właściwość QueueDescription.ForwardTo lub SubscriptionDescription.ForwardTo dla źródła, jak w poniższym przykładzie:

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

30 września 2026 r. wycofamy biblioteki zestawu SDK usługi Azure Service Bus WindowsAzure.ServiceBus, Microsoft.Azure.ServiceBus i com.microsoft.azure.servicebus, które nie są zgodne z wytycznymi dotyczącymi zestawu Azure SDK. Zakończymy również obsługę protokołu SBMP, więc nie będzie można już używać tego protokołu po 30 września 2026 r. Przeprowadź migrację do najnowszych bibliotek zestawu Azure SDK, które oferują krytyczne aktualizacje zabezpieczeń i ulepszone możliwości przed tą datą.

Mimo że starsze biblioteki mogą być nadal używane poza 30 września 2026 r., nie będą już otrzymywać oficjalnej pomocy technicznej i aktualizacji od firmy Microsoft. Aby uzyskać więcej informacji, zobacz ogłoszenie o wycofaniu pomocy technicznej.

Java

azure-messaging-servicebus (najnowsza)

Funkcję automatycznego przesyłania dalej można włączyć przy użyciu metody CreateQueueOptions.setForwardTo(String forwardTo) lub metody CreateSubscriptionOptions.setForwardTo(String forwardTo), a następnie przy użyciu metody createQueue lub metody createSubscription, która przyjmują CreateQueueOptions lub CreateSubscriptionOptions parametry.

azure-servicebus (starsza wersja)

Autoforwarding można włączyć za pomocą elementu QueueDescription.setForwardTo(String forwardTo) lub SubscriptionDescription.setForwardTo(String forwardTo) dla źródła.

30 września 2026 r. wycofamy biblioteki zestawu SDK usługi Azure Service Bus WindowsAzure.ServiceBus, Microsoft.Azure.ServiceBus i com.microsoft.azure.servicebus, które nie są zgodne z wytycznymi dotyczącymi zestawu Azure SDK. Zakończymy również obsługę protokołu SBMP, więc nie będzie można już używać tego protokołu po 30 września 2026 r. Przeprowadź migrację do najnowszych bibliotek zestawu Azure SDK, które oferują krytyczne aktualizacje zabezpieczeń i ulepszone możliwości przed tą datą.

Mimo że starsze biblioteki mogą być nadal używane poza 30 września 2026 r., nie będą już otrzymywać oficjalnej pomocy technicznej i aktualizacji od firmy Microsoft. Aby uzyskać więcej informacji, zobacz ogłoszenie o wycofaniu pomocy technicznej.

Następne kroki

Wypróbuj przykłady w wybranym języku, aby zapoznać się z funkcjami usługi Azure Service Bus.

Znajdź przykłady dla starszych bibliotek klienckich .NET i Java poniżej:

30 września 2026 r. wycofamy biblioteki zestawu SDK usługi Azure Service Bus WindowsAzure.ServiceBus, Microsoft.Azure.ServiceBus i com.microsoft.azure.servicebus, które nie są zgodne z wytycznymi dotyczącymi zestawu Azure SDK. Zakończymy również obsługę protokołu SBMP, więc nie będzie można już używać tego protokołu po 30 września 2026 r. Przeprowadź migrację do najnowszych bibliotek zestawu Azure SDK, które oferują krytyczne aktualizacje zabezpieczeń i ulepszone możliwości przed tą datą.

Mimo że starsze biblioteki mogą być nadal używane poza 30 września 2026 r., nie będą już otrzymywać oficjalnej pomocy technicznej i aktualizacji od firmy Microsoft. Aby uzyskać więcej informacji, zobacz ogłoszenie o wycofaniu pomocy technicznej.