Włączanie sesji komunikatów dla kolejki usługi Azure Service Bus lub subskrypcji
Sesje usługi Azure Service Bus umożliwiają wspólną i uporządkowaną obsługę niepowiązanych sekwencji powiązanych komunikatów. Sesje mogą być używane w pierwszym na, pierwszy na wyjęcie (FIFO) i wzorce odpowiedzi żądań . Aby uzyskać więcej informacji, zobacz Sesje komunikatów. W tym artykule przedstawiono różne sposoby włączania sesji dla kolejki lub subskrypcji usługi Service Bus.
Ważne
- Warstwa Podstawowa usługi Service Bus nie obsługuje sesji. Sesje są obsługiwane w warstwach Standardowa i Premium. Aby uzyskać różnice między tymi warstwami, zobacz Cennik usługi Service Bus.
- Nie można włączać ani wyłączać sesji komunikatów po utworzeniu kolejki lub subskrypcji. Można to zrobić tylko w momencie tworzenia kolejki lub subskrypcji.
Przy użyciu witryny Azure Portal
Podczas tworzenia kolejki w witrynie Azure Portal wybierz pozycję Włącz sesje , jak pokazano na poniższej ilustracji.
Podczas tworzenia subskrypcji tematu w witrynie Azure Portal wybierz pozycję Włącz sesje , jak pokazano na poniższej ilustracji.
Korzystanie z interfejsu wiersza polecenia platformy Azure
Aby utworzyć kolejkę z włączonymi sesjami komunikatów, użyj az servicebus queue create
polecenia z ustawioną wartością --enable-session
true
.
az servicebus queue create \
--resource-group myresourcegroup \
--namespace-name mynamespace \
--name myqueue \
--enable-session true
Aby utworzyć subskrypcję tematu z włączonymi sesjami komunikatów, użyj az servicebus topic subscription create
polecenia z ustawioną wartością --enable-session
true
.
az servicebus topic subscription create \
--resource-group myresourcegroup \
--namespace-name mynamespace \
--topic-name mytopic \
--name mysubscription \
--enable-session true
Korzystanie z programu Azure PowerShell
Aby utworzyć kolejkę z włączonymi sesjami komunikatów, użyj New-AzServiceBusQueue
polecenia z ustawioną wartością -RequiresSession
$True
.
New-AzServiceBusQueue -ResourceGroup myresourcegroup `
-NamespaceName mynamespace `
-QueueName myqueue `
-RequiresSession $True
Aby utworzyć subskrypcję tematu z włączonymi sesjami komunikatów, użyj New-AzServiceBusSubscription
polecenia z ustawioną wartością -RequiresSession
true
.
New-AzServiceBusSubscription -ResourceGroup myresourcegroup `
-NamespaceName mynamespace `
-TopicName mytopic `
-SubscriptionName mysubscription `
-RequiresSession $True
Korzystanie z szablonu usługi Azure Resource Manager
Aby utworzyć kolejkę z włączonymi sesjami komunikatów, ustaw wartość na requiresSession
true
w sekcji właściwości kolejki. Aby uzyskać więcej informacji, zobacz Dokumentacja szablonu przestrzeni nazw/kolejek 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
}
}
]
}
]
}
Aby utworzyć subskrypcję tematu z włączonymi sesjami komunikatów, ustaw wartość na requiresSession
true
w sekcji właściwości subskrypcji. Aby uzyskać więcej informacji, zobacz Microsoft.ServiceBus namespaces/topics/subscriptions template reference (Dokumentacja szablonu Microsoft.ServiceBus/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
}
}
]
}
]
}
]
}
Następne kroki
Wypróbuj przykłady w wybranym języku, aby zapoznać się z funkcjami usługi Azure Service Bus.
- Przykłady biblioteki klienta usługi Azure Service Bus dla platformy .NET (najnowsza wersja)
- Przykłady biblioteki klienta usługi Azure Service Bus dla języka Java (najnowsza wersja)
- Przykłady biblioteki klienta usługi Azure Service Bus dla języka Python
- Przykłady biblioteki klienta usługi Azure Service Bus dla języka JavaScript
- Przykłady biblioteki klienta usługi Azure Service Bus dla języka TypeScript
Znajdź przykłady dla starszych bibliotek klienckich .NET i Java poniżej:
- Przykłady biblioteki klienta usługi Azure Service Bus dla platformy .NET (starsza wersja)
- Przykłady bibliotek klienta usługi Azure Service Bus dla języka Java (starsza wersja)
30 września 2026 r. wycofamy biblioteki zestawu SDK usługi Azure Service Bus WindowsAzure.ServiceBus, Microsoft.Azure.ServiceBus i com.microsoft.azure.servicebus, które nie są zgodne z wytycznymi dotyczącymi zestawu Azure SDK. Zakończymy również obsługę protokołu SBMP, więc nie będzie można już używać tego protokołu po 30 września 2026 r. Przeprowadź migrację do najnowszych bibliotek zestawu Azure SDK, które oferują krytyczne aktualizacje zabezpieczeń i ulepszone możliwości przed tą datą.
Mimo że starsze biblioteki mogą być nadal używane poza 30 września 2026 r., nie będą już otrzymywać oficjalnej pomocy technicznej i aktualizacji od firmy Microsoft. Aby uzyskać więcej informacji, zobacz ogłoszenie o wycofaniu pomocy technicznej.