Activer le transfert automatique pour les files d’attente et les abonnements Azure Service Bus

La fonctionnalité de transfert automatique de Service Bus vous permet de chaîner une file d’attente ou un abonnement à une autre file d’attente ou rubrique qui fait partie du même espace de noms. Lorsque le transfert automatique est activé, Service Bus supprime automatiquement les messages placés dans la première file d’attente ou le premier abonnement (source) pour les placer dans la deuxième file d’attente ou la rubrique (destination). Il est toujours possible d’envoyer un message directement à l’entité de destination. Pour en savoir plus, consultez l’article Chaînage des entités Service Bus avec transfert automatique. Cet article vous montre différentes façons d’activer le transfert automatique pour les files d’attente et les abonnements de Service Bus.

Important

Le niveau de base de Service Bus ne prend pas en charge la fonctionnalité de transfert automatique. Les niveaux Standard et Premium prennent en charge la fonctionnalité. Pour connaître les différences entre ces niveaux, voir Tarification de Service Bus.

En passant par le portail Azure

Lors de la création d’une file d’attente ou d’un abonnement pour une rubrique du portail Azure, sélectionnez Transférer les messages à la file d’attente/rubrique comme indiqué dans les exemples suivants. Ensuite, indiquez si vous souhaitez que les messages soient transférés vers une file d’attente ou une rubrique. Dans cet exemple, l’option File d’attente est sélectionnée et une file d’attente du même espace de noms est sélectionnée.

Créer une file d’attente avec le transfert automatique activé

Enable auto forward at the time of the queue creation

Créer un abonnement pour une rubrique avec le transfert automatique activé

Enable auto forward at the time of the subscription creation

Mettre à jour le paramètre de transfert automatique pour une file d’attente existante

Dans la page Vue d’ensemble de la file d’attente de Service Bus, sélectionnez la valeur actuelle pour le paramètre Transférer les messages à. Dans l’exemple suivant, la valeur actuelle est Désactivé. Dans la fenêtre Transférer les messages à la file d’attente/rubrique, vous pouvez sélectionner la file d’attente ou la rubrique dans laquelle vous souhaitez que les messages soient transférés.

Enable auto forward for an existing queue

Mettre à jour le paramètre de transfert automatique pour un abonnement existant

Dans la page Vue d’ensemble de l’abonnement Service Bus, sélectionnez la valeur actuelle pour le paramètre Transférer les messages à. Dans l’exemple suivant, la valeur actuelle est Désactivé. Dans la fenêtre Transférer les messages à la file d’attente/rubrique, vous pouvez sélectionner la file d’attente ou la rubrique dans laquelle vous souhaitez que les messages soient transférés.

Enable auto forward for an existing subscription

Utilisation de l’interface de ligne de commande Azure

Pour créer une file d’attente avec le transfert automatique activé, utilisez la commande az servicebus queue create avec --forward-to défini sur le nom de la file d’attente ou de la rubrique vers laquelle vous souhaitez que les messages soient transférés.

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

Pour mettre à jour le paramètre de transfert automatique pour une file d’attente existante, utilisez la commande az servicebus queue update avec la valeur --forward-to définie sur le nom de la file d’attente ou de la rubrique à laquelle vous souhaitez transférer les messages.

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

Pour créer un abonnement pour une rubrique avec le transfert automatique activé, utilisez la commande az servicebus topic subscription create avec --forward-to défini sur le nom de la file d’attente ou de la rubrique vers laquelle vous souhaitez que les messages soient transférés.

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

Pour mettre à jour le paramètre de transfert automatique pour un abonnement à une rubrique, utilisez la commande az servicebus topic subscription update avec la valeur --forward-to définie sur le nom de la file d’attente ou de la rubrique à laquelle vous souhaitez transférer les messages.

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

Utilisation de Microsoft Azure PowerShell

Pour créer une file d’attente avec le transfert automatique activé, utilisez la commande New-AzServiceBusQueue avec -ForwardTo défini sur le nom de la file d’attente ou de la rubrique vers laquelle vous souhaitez que les messages soient transférés.

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

Pour mettre à jour le paramètre de transfert automatique d’une file d’attente existante, utilisez la commande Set-AzServiceBusQueue comme indiqué dans l’exemple suivant.

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

$queue.ForwardTo='myqueue2'

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

Pour créer un abonnement pour une rubrique avec le transfert automatique activé, utilisez la commande New-AzServiceBusSubscription avec -ForwardTo défini sur le nom de la file d’attente ou de la rubrique vers laquelle vous souhaitez que les messages soient transférés.

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

Pour mettre à jour le paramètre de transfert automatique pour un abonnement existant, consultez l’exemple suivant.

$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 

Utilisation d’un modèle Azure Resource Manager

Pour créer une file d’attente avec le transfert automatique activé, définissez forwardTo dans la section Propriétés de la file d’attente sur le nom de la file d’attente ou de la rubrique vers laquelle vous souhaitez que les messages soient transférés. Pour plus d’informations, consultez la documentation de référence sur les modèles de files d’attente/espaces de noms 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"
          }
        }
      ]
    }
  ]
}

Pour créer un abonnement pour une rubrique avec le transfert automatique activé, définissez forwardTo dans la section Propriétés de la file d’attente sur le nom de la file d’attente ou de la rubrique vers laquelle vous souhaitez que les messages soient transférés. Pour plus d’informations, consultez Modèle de référence 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 (dernière version)

Vous pouvez activer la fonctionnalité de transfert automatique en définissant CreateQueueOptions.ForwardTo ou CreateSubscriptionOptions.ForwardTo, puis en utilisant les méthodes CreateQueueAsync ou CreateSubscriptionAsync qui acceptent les paramètres CreateQueueOptions ou CreateSubscriptionOptions.

Microsoft.Azure.ServiceBus (hérité)

Vous pouvez activer le transfert automatique en définissant les propriétés QueueDescription.ForwardTo ou SubscriptionDescription.ForwardTo pour la source, comme dans l’exemple suivant :

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

Le 30 septembre 2026, nous retirerons les bibliothèques WindowsAzure.ServiceBus, Microsoft.Azure.ServiceBus et com.microsoft.azure.servicebus du kit de développement logiciel (SDK) Azure Service Bus, qui ne sont pas conformes aux directives du kit de développement logiciel (SDK) Azure. Nous mettrons également fin à la prise en charge du protocole SBMP. Vous ne pourrez donc plus utiliser ce protocole après le 30 septembre 2026. Migrez vers les dernières bibliothèques du kit de développement logiciel (SDK) Azure, qui offre des correctifs de sécurité critiques et des fonctionnalités améliorées, avant cette date.

Bien que les anciennes bibliothèques puissent toujours être utilisées au-delà du 30 septembre 2026, elles ne seront plus prises en charge officiellement et mises à jour par Microsoft. Pour plus d’informations, consultez l’annonce concernant l’arrêt de la prise en charge.

Java

azure-messaging-servicebus (dernière version)

Vous pouvez activer la fonctionnalité de transfert automatique à l’aide de la méthode CreateQueueOptions.setForwardTo(String forwardTo) ou CreateSubscriptionOptions.SetForwardTo(String forwardTo), puis à l’aide de la méthode createQueue ou de la méthode createSubscription, qui prennent les paramètres CreateQueueOptions ou CreateSubscriptionOptions.

azure-servicebus (hérité)

Vous pouvez activer le transfert à l’aide de QueueDescription.setForwardTo(String forwardTo) ou SubscriptionDescription.SetForwardTo(String forwardTo) pour la source.

Le 30 septembre 2026, nous retirerons les bibliothèques WindowsAzure.ServiceBus, Microsoft.Azure.ServiceBus et com.microsoft.azure.servicebus du kit de développement logiciel (SDK) Azure Service Bus, qui ne sont pas conformes aux directives du kit de développement logiciel (SDK) Azure. Nous mettrons également fin à la prise en charge du protocole SBMP. Vous ne pourrez donc plus utiliser ce protocole après le 30 septembre 2026. Migrez vers les dernières bibliothèques du kit de développement logiciel (SDK) Azure, qui offre des correctifs de sécurité critiques et des fonctionnalités améliorées, avant cette date.

Bien que les anciennes bibliothèques puissent toujours être utilisées au-delà du 30 septembre 2026, elles ne seront plus prises en charge officiellement et mises à jour par Microsoft. Pour plus d’informations, consultez l’annonce concernant l’arrêt de la prise en charge.

Étapes suivantes

Essayez les exemples dans le langage de votre choix pour explorer les fonctionnalités d’Azure Service Bus.

Recherchez des exemples pour les anciennes bibliothèques clientes .NET et Java ci-dessous :

Le 30 septembre 2026, nous retirerons les bibliothèques WindowsAzure.ServiceBus, Microsoft.Azure.ServiceBus et com.microsoft.azure.servicebus du kit de développement logiciel (SDK) Azure Service Bus, qui ne sont pas conformes aux directives du kit de développement logiciel (SDK) Azure. Nous mettrons également fin à la prise en charge du protocole SBMP. Vous ne pourrez donc plus utiliser ce protocole après le 30 septembre 2026. Migrez vers les dernières bibliothèques du kit de développement logiciel (SDK) Azure, qui offre des correctifs de sécurité critiques et des fonctionnalités améliorées, avant cette date.

Bien que les anciennes bibliothèques puissent toujours être utilisées au-delà du 30 septembre 2026, elles ne seront plus prises en charge officiellement et mises à jour par Microsoft. Pour plus d’informations, consultez l’annonce concernant l’arrêt de la prise en charge.