Activer le partitionnement dans Azure Service Bus de base ou standard

Les partitions Service Bus permettent le partitionnement de files d’attente et rubriques, ou d’entités de messagerie entre plusieurs courtiers de messages. Le partitionnement signifie que le débit global d’une entité partitionnée n’est plus limité par les performances d’un seul courtier de messages. En outre, une panne temporaire d’un courtier de messages, par exemple, lors d’une mise à niveau, ne rend pas une file d’attente ou une rubrique partitionnées indisponibles. Les rubriques et les files d’attente partitionnées peuvent contenir toutes les fonctionnalités avancées de Service Bus, comme la prise en charge des transactions et des sessions. Pour plus d’informations, consultez Rubriques et files d’attente partitionnées. Cet article vous montre différentes façons d’activer la détection des messages dupliqués pour une file d’attente ou une rubrique Service Bus.

Important

  • Le partitionnement est disponible au moment de la création de l’entité pour toutes les files d’attente et rubriques dans les références SKU De base et Standard.
  • Il n’est pas possible de modifier l’option de partitionnement sur une file d’attente ou une rubrique existante. Vous ne pouvez définir l’option que lorsque vous créez une file d’attente ou une rubrique.
  • Dans un espace de noms de niveau Standard, vous pouvez créer des files d’attente et des rubriques Service Bus avec des tailles de 1, 2, 3, 4 ou 5 Go (la valeur par défaut est 1 Go). Si le partitionnement est activé, Service Bus crée 16 copies (16 partitions) de l’entité, chacune de la même taille spécifiée. Par conséquent, si vous créez une file d’attente de 5 Go, avec 16 partitions, la taille maximale de la file d’attente est (5 * 16) = 80 Go.

Utiliser le portail Azure

Lorsque vous créez une file d’attente dans le portail Azure, sélectionnez Activer le partitionnement comme indiqué dans l’image suivante.

Enable partitioning at the time of the queue creation

Lorsque vous créez une rubrique dans le portail Azure, sélectionnez Activer le partitionnement comme indiqué dans l’image suivante.

Enable partitioning at the time of the topic creation

Utiliser l’interface de ligne de commande Microsoft Azure

Pour créer une file d’attente avec le partitionnement activé, utilisez la commande az servicebus queue create en définissant --enable-partitioning sur true.

az servicebus queue create \
    --resource-group myresourcegroup \
    --namespace-name mynamespace \
    --name myqueue \
    --enable-partitioning true

Pour créer une rubrique avec le partitionnement activé, utilisez la commande az servicebus topic create en définissant --enable-partitioning sur true.

az servicebus topic create \
    --resource-group myresourcegroup \
    --namespace-name mynamespace \
    --name mytopic \
    --enable-partitioning true

Utilisation d'Azure PowerShell

Pour créer une file d’attente avec le partitionnement activé, utilisez la commande New-AzServiceBusQueue en définissant -EnablePartitioning sur $True.

New-AzServiceBusQueue -ResourceGroup myresourcegroup `
    -NamespaceName mynamespace `
    -QueueName myqueue `
    -EnablePartitioning $True

Pour créer une rubrique avec le partitionnement activé, utilisez la commande New-AzServiceBusTopic en définissant -EnablePartitioning sur true.

New-AzServiceBusTopic -ResourceGroup myresourcegroup `
    -NamespaceName mynamespace `
    -Name mytopic `
    -EnablePartitioning $True

Utilisation d’un modèle Azure Resource Manager

Pour créer une file d’attente avec le partitionnement activé, définissez enablePartitioning sur true dans la section Propriétés de la file d’attente. 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": {
            "enablePartitioning": true
          }
        }
      ]
    }
  ]
}

Pour créer une rubrique avec la détection des doublons activée, définissez enablePartitioning sur true dans la section Propriétés de la rubrique. 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": {
    "service_BusNamespace_Name": {
      "type": "string",
      "metadata": {
        "description": "Name of the Service Bus namespace"
      }
    },
    "serviceBusTopicName": {
      "type": "string",
      "metadata": {
        "description": "Name of the Topic"
      }
    },
    "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": {
            "enablePartitioning": true
          }
        }
      ]
    }
  ]
}

É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 SDK Azure Service Bus, qui ne sont pas conformes aux directives du SDK Azure. Nous mettrons également fin à la prise en charge du protocole SBMP et vous ne pourrez donc plus utiliser ce protocole après le 30 septembre 2026. Migrez avant cette date vers les dernières bibliothèques du SDK Azure, qui offrent des mises à jour de sécurité critiques et des fonctionnalités améliorées.

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