Aktivera meddelandesessioner för en Azure Service Bus-kö eller en prenumeration

Azure Service Bus-sessioner aktiverar gemensam och organiserad hantering av obundna sekvenser av relaterade meddelanden. Sessioner kan användas i fifo-mönster (first in, first out) och request-response . Mer information finns i Meddelandesessioner. Den här artikeln visar olika sätt att aktivera sessioner för en Service Bus-kö eller prenumeration.

Viktigt!

  • Basic-nivån av Service Bus stöder inte sessioner. Standard- och Premium-nivåerna stöder sessioner. Skillnader mellan dessa nivåer finns i Service Bus-priser.
  • Du kan inte aktivera eller inaktivera meddelandesessioner när kön eller prenumerationen har skapats. Du kan bara göra det när du skapar kön eller prenumerationen.

Med Azure Portal

När du skapar en i Azure-portalen väljer du Aktivera sessioner enligt följande bild.

Enable session at the time of the queue creation

När du skapar en prenumeration för ett ämne i Azure-portalen väljer du Aktivera sessioner enligt följande bild.

Enable session at the time of the subscription creation

Använda Azure CLI

Om du vill skapa en kö med meddelandesessioner aktiverade använder du az servicebus queue create kommandot med --enable-session inställt på true.

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

Om du vill skapa en prenumeration för ett ämne med meddelandesessioner aktiverade använder du az servicebus topic subscription create kommandot med --enable-session inställt på true.

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

Använda Azure PowerShell

Om du vill skapa en kö med meddelandesessioner aktiverade använder du New-AzServiceBusQueue kommandot med -RequiresSession inställt på $True.

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

Om du vill skapa en prenumeration för ett ämne med meddelandesessioner aktiverade använder du New-AzServiceBusSubscription kommandot med -RequiresSession inställt på true.

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

Använda Azure Resource Manager-mall

Om du vill skapa en kö med meddelandesessioner aktiverade anger du requiresSession till true i avsnittet köegenskaper. Mer information finns i Mallreferens för Microsoft.ServiceBus-namnområden/köer.

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

Om du vill skapa en prenumeration för ett ämne med meddelandesessioner aktiverade anger du requiresSession till true i avsnittet prenumerationsegenskaper. Mer information finns i Mallreferens för Microsoft.ServiceBus-namnområden/ämnen/prenumerationer.

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

Nästa steg

Prova exemplen på det språk du väljer för att utforska Azure Service Bus-funktioner.

Hitta exempel för de äldre .NET- och Java-klientbiblioteken nedan:

Den 30 september 2026 drar vi tillbaka Azure Service Bus SDK-biblioteken WindowsAzure.ServiceBus, Microsoft.Azure.ServiceBus och com.microsoft.azure.servicebus, som inte följer Riktlinjerna för Azure SDK. Vi kommer också att avsluta stödet för SBMP-protokollet, så du kommer inte längre att kunna använda det här protokollet efter den 30 september 2026. Migrera till de senaste Azure SDK-biblioteken, som erbjuder kritiska säkerhetsuppdateringar och förbättrade funktioner, före det datumet.

Även om de äldre biblioteken fortfarande kan användas efter den 30 september 2026 får de inte längre officiell support och uppdateringar från Microsoft. Mer information finns i meddelandet om supportavgång.