Включение сеансов обмена сообщениями для очереди или подписки служебной шины Azure
Сеансы служебной шины Azure обеспечивают согласованную и упорядоченную обработку несвязанных последовательностей связанных сообщений. Сеансы можно использовать в методе простой очередности (FIFO) и методе запроса и ответа. Дополнительные сведения см. в статье Сеансы обмена сообщениями. В этой статье демонстрируются различные способы включения сеансов для очереди или подписки служебной шины.
Важно!
- Ценовая категория "Базовый" Служебной шины не поддерживает сеансы, Уровни Стандартный и Премиум поддерживают сеансы. Различия между этими ценовыми категориями приведены на странице цен на Служебную шину.
- После создания очереди или подписки включить или отключить сеансы обмена сообщениями нельзя. Это можно сделать только во время создания очереди.
Используя портал Azure
При создании очереди на портале Azure выберите Включить сеансы, как показано на следующем изображении.
При создании подписки на тему на портале Azure выберите Включить сеансы, как показано на следующем рисунке.
Использование Azure CLI
Чтобы создать очередь с включенными сеансами обмена сообщениями, используйте команду az servicebus queue create
с параметром --enable-session
, имеющим значение true
.
az servicebus queue create \
--resource-group myresourcegroup \
--namespace-name mynamespace \
--name myqueue \
--enable-session true
Чтобы создать подписку на тему с включенными сеансами обмена сообщениями, используйте команду az servicebus topic subscription create
с параметром --enable-session
, имеющим значение true
.
az servicebus topic subscription create \
--resource-group myresourcegroup \
--namespace-name mynamespace \
--topic-name mytopic \
--name mysubscription \
--enable-session true
Использование Azure PowerShell
Чтобы создать очередь с включенными сеансами обмена сообщениями, используйте команду New-AzServiceBusQueue
с параметром -RequiresSession
, имеющим значение $True
.
New-AzServiceBusQueue -ResourceGroup myresourcegroup `
-NamespaceName mynamespace `
-QueueName myqueue `
-RequiresSession $True
Чтобы создать подписку на тему с включенными сеансами обмена сообщениями, используйте команду New-AzServiceBusSubscription
с параметром -RequiresSession
, имеющим значение true
.
New-AzServiceBusSubscription -ResourceGroup myresourcegroup `
-NamespaceName mynamespace `
-TopicName mytopic `
-SubscriptionName mysubscription `
-RequiresSession $True
Использование шаблона Azure Resource Manager
Чтобы создать очередь с включенными сеансами сообщений, задайте для параметра requiresSession
значение true
в разделе свойств очереди. Дополнительные сведения см. в справочнике по шаблонам пространств имен/очередей 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
}
}
]
}
]
}
Чтобы создать подписку на тему с включенными сеансами обмена сообщениями, задайте для параметра requiresSession
значение true
в разделе свойств подписки. Дополнительные сведения см. в справочнике по шаблонам пространств имен, разделов и подписок 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"
}
},
"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
}
}
]
}
]
}
]
}
Следующие шаги
Опробуйте примеры на выбранном языке, чтобы изучить возможности Служебной шины Azure.
- Примеры для клиентской библиотеки Служебной шины Azure для .NET (последняя версия)
- Примеры для клиентской библиотеки Служебной шины Azure для Java (последняя версия)
- Примеры для клиентской библиотеки Служебной шины Azure для Python
- Примеры для клиентской библиотеки Служебной шины Azure для JavaScript
- Примеры для клиентской библиотеки Служебной шины Azure для TypeScript
Примеры для более ранних клиентских библиотек .NET и Java см. ниже.
- Примеры для клиентской библиотеки Служебной шины Azure для .NET (прежние версии)
- Примеры для клиентской библиотеки Служебной шины Azure для Java (прежние версии)
30 сентября 2026 г. мы удалим библиотеки пакета SDK Служебная шина Azure WindowsAzure.ServiceBus, Microsoft.Azure.ServiceBus и com.microsoft.azure.servicebus, которые не соответствуют рекомендациям по пакету SDK Azure. Мы также завершим поддержку протокола SBMP, поэтому вы больше не сможете использовать этот протокол после 30 сентября 2026 года. Перейдите в последние библиотеки пакета SDK Azure, которые предлагают критически важные обновления системы безопасности и улучшенные возможности до этой даты.
Хотя старые библиотеки по-прежнему могут использоваться после 30 сентября 2026 года, они больше не будут получать официальную поддержку и обновления от Майкрософт. Дополнительные сведения см. в объявлении о выходе на пенсию в службу поддержки.