Proposed Pull Request Change

title description ms.topic ms.date ms.custom ms.devlang
Enable Azure Service Bus message sessions | Microsoft Docs This article explains how to enable message sessions using Azure portal, PowerShell, CLI, and programming languages (C#, Java, Python, and JavaScript) how-to 04/19/2021 devx-track-azurepowershell, devx-track-azurecli, devx-track-arm-template, devx-track-python azurecli
📄 Document Links
GitHub View on GitHub Microsoft Learn View on Microsoft Learn
Content Truncation Detected
The generated rewrite appears to be incomplete.
Original lines: -
Output lines: -
Ratio: -
Raw New Markdown
Generating updated version of doc...
Rendered New Markdown
Generating updated version of doc...
+0 -0
+0 -0
--- title: Enable Azure Service Bus message sessions | Microsoft Docs description: This article explains how to enable message sessions using Azure portal, PowerShell, CLI, and programming languages (C#, Java, Python, and JavaScript) ms.topic: how-to ms.date: 04/19/2021 ms.custom: devx-track-azurepowershell, devx-track-azurecli, devx-track-arm-template, devx-track-python ms.devlang: azurecli --- # Enable message sessions for an Azure Service Bus queue or a subscription Azure Service Bus sessions enable joint and ordered handling of unbounded sequences of related messages. Sessions can be used in **first in, first out (FIFO)** and **request-response** patterns. For more information, See [Message sessions](message-sessions.md). This article shows you different ways to enable sessions for a Service Bus queue or subscription. > [!IMPORTANT] > - The basic tier of Service Bus doesn't support sessions. The standard and premium tiers support sessions. For differences between these tiers, see [Service Bus pricing](https://azure.microsoft.com/pricing/details/service-bus/). > - You can't enable or disable message sessions after the queue or subscription is created. You can only do so at the time of creating the queue or subscription. ## Using Azure portal When creating a **queue** in the Azure portal, select **Enable sessions** as shown in the following image. :::image type="content" source="./media/message-sessions/queue-sessions.png" alt-text="Enable session at the time of the queue creation"::: When creating a subscription for a topic in the Azure portal, select **Enable sessions** as shown in the following image. :::image type="content" source="./media/message-sessions/subscription-sessions.png" alt-text="Enable session at the time of the subscription creation"::: ## Using Azure CLI To **create a queue with message sessions enabled**, use the [`az servicebus queue create`](/cli/azure/servicebus/queue#az-servicebus-queue-create) command with `--enable-session` set to `true`. ```azurecli-interactive az servicebus queue create \ --resource-group myresourcegroup \ --namespace-name mynamespace \ --name myqueue \ --enable-session true ``` To **create a subscription for a topic with message sessions enabled**, use the [`az servicebus topic subscription create`](/cli/azure/servicebus/topic/subscription#az-servicebus-topic-subscription-create) command with `--enable-session` set to `true`. ```azurecli-interactive az servicebus topic subscription create \ --resource-group myresourcegroup \ --namespace-name mynamespace \ --topic-name mytopic \ --name mysubscription \ --enable-session true ``` ## Using Azure PowerShell To **create a queue with message sessions enabled**, use the [`New-AzServiceBusQueue`](/powershell/module/az.servicebus/new-azservicebusqueue) command with `-RequiresSession` set to `$True`. ```azurepowershell-interactive New-AzServiceBusQueue -ResourceGroup myresourcegroup ` -NamespaceName mynamespace ` -QueueName myqueue ` -RequiresSession $True ``` To **create a subscription for a topic with message sessions enabled**, use the [`New-AzServiceBusSubscription`](/powershell/module/az.servicebus/new-azservicebussubscription) command with `-RequiresSession` set to `true`. ```azurepowershell-interactive New-AzServiceBusSubscription -ResourceGroup myresourcegroup ` -NamespaceName mynamespace ` -TopicName mytopic ` -SubscriptionName mysubscription ` -RequiresSession $True ``` ## Using Azure Resource Manager template To **create a queue with message sessions enabled**, set `requiresSession` to `true` in the queue properties section. For more information, see [Microsoft.ServiceBus namespaces/queues template reference](/azure/templates/microsoft.servicebus/namespaces/queues?tabs=json). ```json { "$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 } } ] } ] } ``` To **create a subscription for a topic with message sessions enabled**, set `requiresSession` to `true` in the subscription properties section. For more information, see [Microsoft.ServiceBus namespaces/topics/subscriptions template reference](/azure/templates/microsoft.servicebus/namespaces/topics/subscriptions?tabs=json). ```json { "$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 } } ] } ] } ] } ``` ## Next steps Try the samples in the language of your choice to explore Azure Service Bus features. - [Azure Service Bus client library samples for .NET (latest)](/samples/azure/azure-sdk-for-net/azuremessagingservicebus-samples/) - [Azure Service Bus client library samples for Java (latest)](/samples/azure/azure-sdk-for-java/servicebus-samples/) - [Azure Service Bus client library samples for Python](/samples/azure/azure-sdk-for-python/servicebus-samples/) - [Azure Service Bus client library samples for JavaScript](/samples/azure/azure-sdk-for-js/service-bus-javascript/) - [Azure Service Bus client library samples for TypeScript](/samples/azure/azure-sdk-for-js/service-bus-typescript/) Find samples for the older .NET and Java client libraries below: - [Azure Service Bus client library samples for .NET (legacy)](https://github.com/Azure/azure-service-bus/tree/master/samples/DotNet/Microsoft.Azure.ServiceBus/) - [Azure Service Bus client library samples for Java (legacy)](https://github.com/Azure/azure-service-bus/tree/master/samples/Java/azure-servicebus) [!INCLUDE [service-bus-track-0-and-1-sdk-support-retirement](../../includes/service-bus-track-0-and-1-sdk-support-retirement.md)]
Success! Branch created successfully. Create Pull Request on GitHub
Error: