Partilhar via


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

O recurso de encaminhamento automático do Service Bus permite encadear uma fila ou assinatura para outra fila ou tópico que faça parte do mesmo namespace. Quando o encaminhamento automático está habilitado, o Service Bus remove automaticamente as mensagens que são colocadas na primeira fila ou assinatura (origem) e as coloca na segunda fila ou tópico (destino). Ainda é possível enviar uma mensagem diretamente para a entidade de destino. Para obter mais informações, consulte Encadeamento de entidades do Service Bus com encaminhamento automático. Este artigo mostra diferentes maneiras de habilitar o encaminhamento automático para filas e assinaturas do Service Bus.

Importante

A camada básica do Service Bus não suporta o recurso de encaminhamento automático. Os níveis padrão e premium suportam o recurso. Para conhecer as diferenças entre esses níveis, consulte Preços do Service Bus.

Através do portal do Azure

Ao criar uma fila ou uma assinatura para um tópico no portal do Azure, selecione Encaminhar mensagens para 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 ativado

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

Criar uma subscrição para um tópico com o encaminhamento automático ativado

Ativar o encaminhamento automático no momento da criação da subscrição

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

Na página Visão geral da fila do Service Bus, selecione o valor atual da configuração Encaminhar mensagens para. No exemplo a seguir, o valor atual é Disabled. Na janela Encaminhar mensagens para fila/tópico, você pode selecionar a fila ou tópico para onde 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 Service Bus, selecione o valor atual da configuração Encaminhar mensagens para. No exemplo a seguir, o valor atual é Disabled. Na janela Encaminhar mensagens para fila/tópico, você pode selecionar a fila ou tópico para onde deseja que as mensagens sejam encaminhadas.

Habilitar o encaminhamento automático para uma assinatura existente

Utilizar a CLI do Azure

Para criar uma fila com o encaminhamento automático habilitado, use o az servicebus queue create comando com --forward-to set para o nome da fila ou 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ático para uma fila existente, use o az servicebus queue update comando com --forward-to set para o nome da fila ou 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 az servicebus topic subscription create comando set --forward-to to the name of queue or topic to which you want the messages to be forward.

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ático de uma assinatura de um tópico, use o az servicebus topic subscription update comando com --forward-to definido para o nome da fila ou 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

Utilizar o Azure PowerShell

Para criar uma fila com o encaminhamento automático habilitado, use o New-AzServiceBusQueue comando com -ForwardTo set para o nome da fila ou 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 Set-AzServiceBusQueue comando 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 New-AzServiceBusSubscription comando set -ForwardTo to the name of queue or topic to which you want the messages to be forward.

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 

Com 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 o nome da fila ou tópico para o qual você deseja que as mensagens sejam encaminhadas. Para obter mais informações, consulte 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 o nome da fila ou tópico para o qual você deseja que as mensagens sejam encaminhadas. Para obter mais informações, consulte Microsoft.ServiceBus namespaces/topics/subscriptions template reference.

{
  "$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 CreateQueueOptions ou CreateSubscriptionOptions parâmetros.

Microsoft.Azure.ServiceBus (legado)

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, para que você não possa mais usar esse protocolo após 30 de setembro de 2026. Migre para as bibliotecas mais recentes do SDK do Azure, que oferecem atualizações de segurança críticas e recursos aprimorados, antes dessa data.

Embora as bibliotecas mais antigas ainda possam 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, consulte o anúncio de aposentadoria de 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 o CreateSubscriptionOptions.setForwardTo(String forwardTo) e, em seguida, usando o método createQueue ou o método createSubscription que take CreateQueueOptions ou CreateSubscriptionOptions parâmetros.

Azure-ServiceBus (Legado)

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, para que você não possa mais usar esse protocolo após 30 de setembro de 2026. Migre para as bibliotecas mais recentes do SDK do Azure, que oferecem atualizações de segurança críticas e recursos aprimorados, antes dessa data.

Embora as bibliotecas mais antigas ainda possam 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, consulte o anúncio de aposentadoria de suporte.

Próximos passos

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

Encontre exemplos para as bibliotecas de cliente .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, para que você não possa mais usar esse protocolo após 30 de setembro de 2026. Migre para as bibliotecas mais recentes do SDK do Azure, que oferecem atualizações de segurança críticas e recursos aprimorados, antes dessa data.

Embora as bibliotecas mais antigas ainda possam 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, consulte o anúncio de aposentadoria de suporte.