Delen via


Berichtensessies inschakelen voor een Azure Service Bus-wachtrij of een abonnement

Azure Service Bus-sessies maken gezamenlijke en geordende verwerking van niet-gekoppelde reeksen gerelateerde berichten mogelijk. Sessies kunnen worden gebruikt in eerste in, first out (FIFO) en aanvraag-responspatronen . Zie Berichtsessies voor meer informatie. In dit artikel ziet u verschillende manieren om sessies in te schakelen voor een Service Bus-wachtrij of -abonnement.

Belangrijk

  • De basislaag van Service Bus biedt geen ondersteuning voor sessies. De lagen Standard en Premium bieden ondersteuning voor sessies. Zie Service Bus-prijzen voor verschillen tussen deze lagen.
  • U kunt berichtsessies niet in- of uitschakelen nadat de wachtrij of het abonnement is gemaakt. U kunt dit alleen doen op het moment dat u de wachtrij of het abonnement maakt.

Azure-portal gebruiken

Wanneer u een wachtrij maakt in Azure Portal, selecteert u Sessies inschakelen, zoals wordt weergegeven in de volgende afbeelding.

Enable session at the time of the queue creation

Wanneer u een abonnement maakt voor een onderwerp in Azure Portal, selecteert u Sessies inschakelen, zoals wordt weergegeven in de volgende afbeelding.

Enable session at the time of the subscription creation

Azure CLI gebruiken

Als u een wachtrij wilt maken waarvoor berichtsessies zijn ingeschakeld, gebruikt u de az servicebus queue create opdracht waarop --enable-session deze is ingesteld true.

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

Als u een abonnement wilt maken voor een onderwerp waarvoor berichtsessies zijn ingeschakeld, gebruikt u de az servicebus topic subscription create opdracht die is --enable-session ingesteld op true.

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

Azure PowerShell gebruiken

Als u een wachtrij wilt maken waarvoor berichtsessies zijn ingeschakeld, gebruikt u de New-AzServiceBusQueue opdracht waarop -RequiresSession deze is ingesteld $True.

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

Als u een abonnement wilt maken voor een onderwerp waarvoor berichtsessies zijn ingeschakeld, gebruikt u de New-AzServiceBusSubscription opdracht die is -RequiresSession ingesteld op true.

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

Azure Resource Manager-sjabloon gebruiken

Als u een wachtrij wilt maken waarvoor berichtsessies zijn ingeschakeld, stelt u deze in requiresSession true de sectie Wachtrijeigenschappen in. Zie de sjabloonreferenties voor Microsoft.ServiceBus-naamruimten/wachtrijen voor meer informatie.

{
  "$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
          }
        }
      ]
    }
  ]
}

Als u een abonnement wilt maken voor een onderwerp waarvoor berichtsessies zijn ingeschakeld, stelt u dit requiresSession true in de sectie met abonnementseigenschappen in. Zie Microsoft.ServiceBus-naamruimten/onderwerpen/abonnementensjabloonreferenties voor meer informatie.

{
  "$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
              }
            }
          ]
        }
      ]
    }
  ]
}

Volgende stappen

Probeer de voorbeelden in de taal van uw keuze om Azure Service Bus-functies te verkennen.

Hieronder vindt u voorbeelden voor de oudere .NET- en Java-clientbibliotheken:

Op 30 september 2026 gaan we de Azure Service Bus SDK-bibliotheken WindowsAzure.ServiceBus, Microsoft.Azure.ServiceBus en com.microsoft.azure.servicebus buiten gebruik stellen, die niet voldoen aan de Azure SDK-richtlijnen. We beëindigen ook de ondersteuning van het SBMP-protocol, zodat u dit protocol na 30 september 2026 niet meer kunt gebruiken. Migreer naar de nieuwste Azure SDK-bibliotheken, die vóór die datum essentiële beveiligingsupdates en verbeterde mogelijkheden bieden.

Hoewel de oudere bibliotheken nog steeds meer dan 30 september 2026 kunnen worden gebruikt, ontvangen ze geen officiële ondersteuning en updates meer van Microsoft. Zie de aankondiging van de buitengebruikstelling van de ondersteuning voor meer informatie.