Partager via


Activer des sessions de messagerie pour une file d’attente ou un abonnement Azure Service Bus

Les sessions Azure Service Bus permettent un traitement conjoint et chronologique de séquences illimitées de messages associés. Vous pouvez utiliser des sessions dans des modèles premier entré, premier sorti (FIFO) et requête-réponse. Pour plus d’informations, consultez Sessions de messagerie. Cet article vous montre différentes façons d’activer des sessions pour une file d’attente ou un abonnement Service Bus.

Important

  • Le niveau de base de Service Bus ne prend pas en charge les sessions. Les niveaux standard et premium prennent en charge les sessions. Pour connaître les différences entre ces niveaux, voir Tarification de Service Bus.
  • Vous ne pouvez pas activer ou désactiver les sessions de messagerie après la création de la file d’attente ou de l’abonnement. Vous ne pouvez le faire qu’au moment de la création de la file d’attente ou de l’abonnement.

En passant par le portail Azure

Lorsque vous créez une file d’attente dans le Portail Azure, sélectionnez Activer les sessions comme illustré à l’image suivante.

Enable session at the time of the queue creation

Lorsque vous créez un abonnement pour une rubrique dans le Portail Azure, sélectionnez Activer les sessions comme illustré à l’image suivante.

Enable session at the time of the subscription creation

Utilisation de l’interface de ligne de commande Azure

Pour créer une file d’attente avec les sessions de messagerie activées, utilisez la commande az servicebus queue create et définissez --enable-session sur true.

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

Pour créer un abonnement pour une rubrique avec les sessions de messagerie activées, utilisez la commande az servicebus topic subscription create et définissez --enable-session sur true.

az servicebus topic subscription create \
    --resource-group myresourcegroup \
    --namespace-name mynamespace \
    --topic-name mytopic \
    --name mysubscription \
    --enable-session true

Utilisation de Microsoft Azure PowerShell

Pour créer une file d’attente avec les sessions de messagerie activées, utilisez la commande New-AzServiceBusQueue et définissez -RequiresSession sur $True.

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

Pour créer un abonnement pour une rubrique avec les sessions de messagerie activées, utilisez la commande New-AzServiceBusSubscription et définissez -RequiresSession sur true.

New-AzServiceBusSubscription -ResourceGroup myresourcegroup `
    -NamespaceName mynamespace `
    -TopicName mytopic `
    -SubscriptionName mysubscription `
    -RequiresSession $True

Utilisation d’un modèle Azure Resource Manager

Pour créer une file d’attente avec les sessions de messagerie activées, définissez requiresSession 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": {
            "requiresSession": true
          }
        }
      ]
    }
  ]
}

Pour créer un abonnement pour une rubrique avec les sessions de messagerie activées, définissez requiresSession sur true dans la section des propriétés de l’abonnement. 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": {
                "requiresSession": 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 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 bibliothèques du kit de développement logiciel (SDK) Azure les plus récentes, qui offrent 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 ni mises à jour par Microsoft. Pour plus d’informations, consultez l’annonce concernant l’arrêt de la prise en charge.