Abilitare l'inoltro automatico per le code e le sottoscrizioni di bus di servizio di Azure

La funzionalità di inoltro automatico bus di servizio consente di concatenare una coda o una sottoscrizione a un'altra coda o argomento che fa parte dello stesso spazio dei nomi. Quando l'inoltro automatico è abilitato, bus di servizio rimuove automaticamente i messaggi inseriti nella prima coda o nella prima sottoscrizione (origine) e li inserisce nella seconda coda o argomento (destinazione). È comunque possibile inviare direttamente un messaggio all'entità di destinazione. Per altre informazioni, vedere Concatenamento bus di servizio entità con inoltro automatico. Questo articolo illustra diversi modi per abilitare l'inoltro automatico per le code e le sottoscrizioni bus di servizio.

Importante

Il livello basic di bus di servizio non supporta la funzionalità di inoltro automatico. I livelli Standard e Premium supportano la funzionalità. Per le differenze tra questi livelli, vedere Prezzi del bus di servizio.

Con il portale di Azure

Quando si crea una coda o una sottoscrizione per un argomento nel portale di Azure, selezionare Inoltra messaggi a coda/argomento, come illustrato negli esempi seguenti. Specificare quindi se si desidera che i messaggi vengano inoltrati a una coda o a un argomento. In questo esempio viene selezionata l'opzione Queue e viene selezionata una coda dello stesso spazio dei nomi.

Creare una coda con inoltro automatico abilitato

Enable auto forward at the time of the queue creation

Creare una sottoscrizione per un argomento con l'inoltro automatico abilitato

Enable auto forward at the time of the subscription creation

Aggiornare l'impostazione di inoltro automatico per una coda esistente

Nella pagina Panoramica per la coda di bus di servizio selezionare il valore corrente per l'impostazione Inoltra messaggi da impostare. Nell'esempio seguente il valore corrente è Disabled. Nella finestra Inoltra messaggi a coda/argomento è possibile selezionare la coda o l'argomento in cui si desidera che i messaggi vengano inoltrati.

Enable auto forward for an existing queue

Aggiornare l'impostazione di inoltro automatico per una sottoscrizione esistente

Nella pagina Panoramica per la sottoscrizione bus di servizio selezionare il valore corrente per l'impostazione Inoltra messaggi da impostare. Nell'esempio seguente il valore corrente è Disabled. Nella finestra Inoltra messaggi a coda/argomento è possibile selezionare la coda o l'argomento in cui si desidera che i messaggi vengano inoltrati.

Enable auto forward for an existing subscription

Utilizzare l'interfaccia della riga di comando di Azure

Per creare una coda con inoltro automatico abilitato, usare il az servicebus queue create comando con --forward-to impostato sul nome della coda o dell'argomento a cui si desidera che i messaggi vengano inoltrati.

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

Per aggiornare l'impostazione di inoltro automatico per una coda esistente, usare il az servicebus queue update comando con --forward-to impostato sul nome della coda o dell'argomento a cui si desidera inoltrare i messaggi.

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

Per creare una sottoscrizione a un argomento con inoltro automatico abilitato, usare il az servicebus topic subscription create comando con --forward-to impostato sul nome della coda o dell'argomento a cui si desidera inoltrare i messaggi.

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

Per aggiornare l'impostazione di inoltro automatico per una sottoscrizione a un argomento, usare il az servicebus topic subscription update comando con --forward-to impostato sul nome della coda o dell'argomento a cui si desidera inoltrare i messaggi.

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

Uso di Azure PowerShell

Per creare una coda con inoltro automatico abilitato, usare il New-AzServiceBusQueue comando con -ForwardTo impostato sul nome della coda o dell'argomento a cui si desidera che i messaggi vengano inoltrati.

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

Per aggiornare l'impostazione di inoltro automatico per una coda esistente, usare il Set-AzServiceBusQueue comando come illustrato nell'esempio seguente.

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

$queue.ForwardTo='myqueue2'

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

Per creare una sottoscrizione per un argomento con inoltro automatico abilitato, usare il New-AzServiceBusSubscription comando con -ForwardTo impostato sul nome della coda o dell'argomento a cui si desidera inoltrare i messaggi.

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

Per aggiornare l'impostazione di inoltro automatico per una sottoscrizione esistente, vedere l'esempio seguente.

$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 

Uso del modello di Azure Resource Manager

Per creare una coda con inoltro automatico abilitato, impostare forwardTo nella sezione delle proprietà della coda il nome della coda o l'argomento a cui si desidera inoltrare i messaggi. Per altre informazioni, vedere Informazioni di riferimento sui modelli di spazi dei nomi/code 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"
          }
        }
      ]
    }
  ]
}

Per creare una sottoscrizione per un argomento con inoltro automatico abilitato, impostare forwardTo nella sezione proprietà della coda sul nome della coda o sull'argomento a cui si desidera inoltrare i messaggi. Per altre informazioni, vedere Informazioni di riferimento sul modello Microsoft.ServiceBus namespaces/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 (versione più recente)

È possibile abilitare la funzionalità di inoltro automatico impostando CreateQueueOptions.ForwardTo o CreateSubscriptionOptions.ForwardTo e quindi usando i metodi CreateQueueAsync o CreateSubscriptionAsync che accettano CreateQueueOptions o CreateSubscriptionOptions parametri.

Microsoft.Azure.ServiceBus (legacy)

È possibile abilitare il completamento automatico impostando QueueDescription.ForwardTo o SubscriptionDescription.ForwardTo per l'origine, come nell'esempio seguente:

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

Il 30 settembre 2026 verranno ritirati le librerie bus di servizio di Azure SDK WindowsAzure.ServiceBus, Microsoft.Azure.ServiceBus e com.microsoft.azure.servicebus, che non sono conformi alle linee guida di Azure SDK. Il supporto del protocollo SBMP verrà terminato, quindi non sarà più possibile usare questo protocollo dopo il 30 settembre 2026. Eseguire la migrazione alle librerie più recenti di Azure SDK, che offrono aggiornamenti critici della sicurezza e funzionalità migliorate, prima di tale data.

Anche se le librerie precedenti possono ancora essere usate oltre il 30 settembre 2026, non riceveranno più il supporto e gli aggiornamenti ufficiali da Microsoft. Per altre informazioni, vedere l'annuncio di ritiro del supporto.

Java

azure-messaging-servicebus (ultima versione)

È possibile abilitare la funzionalità di inoltro automatico usando il metodo CreateQueueOptions.setForwardTo(String forwardTo) o CreateSubscriptionOptions.setForwardTo(String forwardTo), quindi usando il metodo createQueue o il metodo createSubscription che accetta CreateQueueOptions o CreateSubscriptionOptions parametri.

azure-servicebus (legacy)

È possibile abilitare il reindirizzamento automatico usando QueueDescription.setForwardTo(String forwardTo) o SubscriptionDescription.setForwardTo(String forwardTo) per l'origine.

Il 30 settembre 2026 verranno ritirati le librerie bus di servizio di Azure SDK WindowsAzure.ServiceBus, Microsoft.Azure.ServiceBus e com.microsoft.azure.servicebus, che non sono conformi alle linee guida di Azure SDK. Il supporto del protocollo SBMP verrà terminato, quindi non sarà più possibile usare questo protocollo dopo il 30 settembre 2026. Eseguire la migrazione alle librerie più recenti di Azure SDK, che offrono aggiornamenti critici della sicurezza e funzionalità migliorate, prima di tale data.

Anche se le librerie precedenti possono ancora essere usate oltre il 30 settembre 2026, non riceveranno più il supporto e gli aggiornamenti ufficiali da Microsoft. Per altre informazioni, vedere l'annuncio di ritiro del supporto.

Passaggi successivi

Provare gli esempi nel linguaggio preferito per esplorare bus di servizio di Azure funzionalità.

Trovare esempi per le librerie client .NET e Java precedenti di seguito:

Il 30 settembre 2026 verranno ritirati le librerie bus di servizio di Azure SDK WindowsAzure.ServiceBus, Microsoft.Azure.ServiceBus e com.microsoft.azure.servicebus, che non sono conformi alle linee guida di Azure SDK. Il supporto del protocollo SBMP verrà terminato, quindi non sarà più possibile usare questo protocollo dopo il 30 settembre 2026. Eseguire la migrazione alle librerie più recenti di Azure SDK, che offrono aggiornamenti critici della sicurezza e funzionalità migliorate, prima di tale data.

Anche se le librerie precedenti possono ancora essere usate oltre il 30 settembre 2026, non riceveranno più il supporto e gli aggiornamenti ufficiali da Microsoft. Per altre informazioni, vedere l'annuncio di ritiro del supporto.