Condividi tramite


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

Abilitare l'inoltro automatico al momento della creazione della coda

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

Abilitare l'inoltro automatico al momento della creazione della sottoscrizione

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.

Abilitare l'inoltro automatico per una coda esistente

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.

Abilitare l'inoltro automatico per una sottoscrizione esistente

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 update \
    --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 `
    -Name myqueue `
    -ForwardTo myqueue2

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

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

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 `
    -Name mysubscription `
    -ForwardTo myqueue2

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

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

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 ritirate le librerie dell'SDK del bus di servizio di Azure WindowsAzure.ServiceBus, Microsoft.Azure.ServiceBus e com.microsoft.azure.servicebus, che non sono conformi alle linee guida di Azure SDK. Verrà terminato anche il supporto del protocollo SBMP, 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 del 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 ritirate le librerie dell'SDK del bus di servizio di Azure WindowsAzure.ServiceBus, Microsoft.Azure.ServiceBus e com.microsoft.azure.servicebus, che non sono conformi alle linee guida di Azure SDK. Verrà terminato anche il supporto del protocollo SBMP, 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 del 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:

Il 30 settembre 2026 verranno ritirate le librerie dell'SDK del bus di servizio di Azure WindowsAzure.ServiceBus, Microsoft.Azure.ServiceBus e com.microsoft.azure.servicebus, che non sono conformi alle linee guida di Azure SDK. Verrà terminato anche il supporto del protocollo SBMP, 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 del ritiro del supporto.