Habilitar encaminhamento automático para filas e assinaturas do Barramento de Serviço do Azure

O recurso de encaminhamento automático do Barramento de Serviço permite encadear uma fila ou assinatura a outra fila ou outro tópico que faz parte do mesmo namespace. Quando o encaminhamento automático está habilitado, o Barramento de Serviço remove automaticamente as mensagens colocadas na primeira fila ou assinatura (origem) e as coloca na segunda fila ou no segundo tópico (destino). Ainda é possível enviar uma mensagem diretamente para a entidade de destino. Para saber mais, confira Encadeamento das entidades do Barramento de Serviço com encaminhamento automático. Este artigo mostra diferentes maneiras de habilitar o encaminhamento automático para filas e assinaturas do Barramento de Serviço.

Importante

A camada básica do Barramento de Serviço não dá suporte ao recurso de encaminhamento automático. As camadas Standard e Premium dão suporte ao recurso. Para conferir as diferenças entre essas camadas, consulte preços do Barramento de Serviço.

Usando o Portal do Azure

Ao criar uma fila ou uma assinatura para um tópico no portal do Azure, selecione Encaminhar mensagens para a fila/tópico, conforme mostrado nos exemplos a seguir. Em seguida, especifique se deseja que as mensagens sejam encaminhadas para uma fila ou um tópico. Neste exemplo, a opção Fila é selecionada e uma fila do mesmo namespace é selecionada.

Criar uma fila com o encaminhamento automático habilitado

Habilitar o encaminhamento automático no momento da criação da fila

Criar uma assinatura para um tópico com o encaminhamento automático habilitado

Habilitar o encaminhamento automático no momento da criação da assinatura

Atualizar a configuração de encaminhamento automático para uma fila existente

Na página Visão geral da sua fila do Barramento de Serviço, selecione o valor atual da configuração Encaminhar mensagens para. No exemplo a seguir, o valor atual é Desabilitado. Na janela Encaminhar as mensagens para a fila ou o tópico, você pode selecionar a fila ou o tópico para o qual deseja que as mensagens sejam encaminhadas.

Habilitar o encaminhamento automático para uma fila existente

Atualizar a configuração de encaminhamento automático para uma assinatura existente

Na página Visão geral da sua assinatura do Barramento de Serviço, selecione o valor atual da configuração Encaminhar mensagens para. No exemplo a seguir, o valor atual é Desabilitado. Na janela Encaminhar as mensagens para a fila ou o tópico, você pode selecionar a fila ou o tópico para o qual deseja que as mensagens sejam encaminhadas.

Habilitar o encaminhamento automático para uma assinatura existente

Usando a CLI do Azure

Para criar uma fila com o encaminhamento automático habilitado, use o comando az servicebus queue create com --forward-to definido como o nome da fila ou do tópico para o qual você deseja que as mensagens sejam encaminhadas.

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

Para atualizar a configuração de encaminhamento automática de uma fila existente, use o comando az servicebus queue update com --forward-to definido como o nome da fila ou do tópico para o qual você deseja que as mensagens sejam encaminhadas.

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

Para criar uma assinatura para um tópico com o encaminhamento automático habilitado, use o comando az servicebus topic subscription create com --forward-to definido como o nome da fila ou do tópico para o qual você deseja que as mensagens sejam encaminhadas.

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

Para atualizar a configuração de encaminhamento automática de uma assinatura para um tópico, use o comando az servicebus topic subscription update com --forward-to definido como o nome da fila ou do tópico para o qual você deseja que as mensagens sejam encaminhadas.

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

Usando o PowerShell do Azure

Para criar uma fila com o encaminhamento automático habilitado, use o comando New-AzServiceBusQueue com -ForwardTo definido como o nome da fila ou do tópico para o qual você deseja que as mensagens sejam encaminhadas.

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

Para atualizar a configuração de encaminhamento automático para uma fila existente, use o comando Set-AzServiceBusQueue, conforme mostrado no exemplo a seguir.

Set-AzServiceBusQueue -ResourceGroup myresourcegroup `
    -NamespaceName mynamespace `
    -Name myqueue `
    -ForwardTo myqueue2

Para criar uma assinatura para um tópico com o encaminhamento automático habilitado, use o comando New-AzServiceBusSubscription com -ForwardTo definido como o nome da fila ou do tópico para o qual você deseja que as mensagens sejam encaminhadas.

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

Para atualizar a configuração de encaminhamento automático para uma assinatura existente, consulte o exemplo a seguir.

Set-AzServiceBusSubscription -ResourceGroup myresourcegroup `
    -NamespaceName mynamespace `
    -TopicName mytopic `
    -Name mysub `
    -ForwardTo mytopic2 

Usar o modelo do Azure Resource Manager

Para criar uma fila com o encaminhamento automático habilitado, defina forwardTo na seção de propriedades da fila como o nome da fila ou do tópico para o qual você deseja que as mensagens sejam encaminhadas. Para obter mais informações, confira Referência de modelo de namespaces/filas do 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"
          }
        }
      ]
    }
  ]
}

Para criar uma assinatura para um tópico com o encaminhamento automático habilitado, defina forwardTo na seção de propriedades da fila como o nome da fila ou do tópico para o qual você deseja que as mensagens sejam encaminhadas. Para obter mais informações, confira Referência de modelo de namespaces/tópicos/assinaturas do Microsoft.ServiceBus.

{
  "$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 (mais recente)

Você pode habilitar o recurso de encaminhamento automático definindo CreateQueueOptions.ForwardTo ou CreateSubscriptionOptions.ForwardTo e, em seguida, usando os métodos CreateQueueAsync ou CreateSubscriptionAsync que usam os parâmetros CreateQueueOptions ou CreateSubscriptionOptions.

Microsoft.Azure.ServiceBus (herdado)

Você pode habilitar o encaminhamento automático definindo QueueDescription.ForwardTo ou SubscriptionDescription.ForwardTo para a origem, como no exemplo a seguir:

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

Em 30 de setembro de 2026, desativaremos as bibliotecas do SDK do Barramento de Serviço do Azure WindowsAzure.ServiceBus, Microsoft.Azure.ServiceBus e com.microsoft.azure.servicebus, que não estão em conformidade com as diretrizes do SDK do Azure. Também encerraremos o suporte ao protocolo SBMP, portanto, ele não poderá mais ser usado após 30 de setembro de 2026. Antes dessa data, migre para as bibliotecas mais recentes do SDK do Azure, que oferecem atualizações de segurança críticas e funcionalidades aprimoradas.

Embora as bibliotecas mais antigas ainda poderão ser usadas após 30 de setembro de 2026, elas não receberão mais suporte e atualizações oficiais da Microsoft. Para obter mais informações, confira o anúncio de desativação do suporte.

Java

azure-messaging-servicebus (mais recente)

Você pode habilitar o recurso de encaminhamento automático usando o método CreateQueueOptions.setForwardTo(String forwardTo) ou CreateSubscriptionOptions.setForwardTo(String forwardTo)e, em seguida, usando o método createQueue ou o método createSubscription que usa os parâmetros CreateQueueOptions ou CreateSubscriptionOptions.

azure-servicebus (herdado)

Você pode habilitar o encaminhamento automático usando QueueDescription.setForwardTo(String forwardTo) ou SubscriptionDescription.setForwardTo(String forwardTo) para a origem.

Em 30 de setembro de 2026, desativaremos as bibliotecas do SDK do Barramento de Serviço do Azure WindowsAzure.ServiceBus, Microsoft.Azure.ServiceBus e com.microsoft.azure.servicebus, que não estão em conformidade com as diretrizes do SDK do Azure. Também encerraremos o suporte ao protocolo SBMP, portanto, ele não poderá mais ser usado após 30 de setembro de 2026. Antes dessa data, migre para as bibliotecas mais recentes do SDK do Azure, que oferecem atualizações de segurança críticas e funcionalidades aprimoradas.

Embora as bibliotecas mais antigas ainda poderão ser usadas após 30 de setembro de 2026, elas não receberão mais suporte e atualizações oficiais da Microsoft. Para obter mais informações, confira o anúncio de desativação do suporte.

Próximas etapas

Experimente os exemplos no idioma de sua escolha para explorar os recursos do Barramento de Serviço do Azure.

Encontre exemplos de bibliotecas de clientes .NET e Java mais antigas:

Em 30 de setembro de 2026, desativaremos as bibliotecas do SDK do Barramento de Serviço do Azure WindowsAzure.ServiceBus, Microsoft.Azure.ServiceBus e com.microsoft.azure.servicebus, que não estão em conformidade com as diretrizes do SDK do Azure. Também encerraremos o suporte ao protocolo SBMP, portanto, ele não poderá mais ser usado após 30 de setembro de 2026. Antes dessa data, migre para as bibliotecas mais recentes do SDK do Azure, que oferecem atualizações de segurança críticas e funcionalidades aprimoradas.

Embora as bibliotecas mais antigas ainda poderão ser usadas após 30 de setembro de 2026, elas não receberão mais suporte e atualizações oficiais da Microsoft. Para obter mais informações, confira o anúncio de desativação do suporte.