Habilitar sessões de mensagens para uma fila do Barramento de Serviço do Azure ou uma assinatura
As sessões do Azure Service Bus permitem o manuseamento conjunto e ordenado de sequências não vinculadas de mensagens relacionadas. As sessões podem ser usadas em padrões de primeiro a entrar, primeiro a sair (FIFO) e solicitação-resposta . Para obter mais informações, consulte Sessões de mensagens. Este artigo mostra diferentes maneiras de habilitar sessões para uma fila ou assinatura do Service Bus.
Importante
- O escalão básico do Service Bus não suporta sessões. Os escalões standard e premium suportam sessões. Para conhecer as diferenças entre esses níveis, consulte Preços do Service Bus.
- Não é possível ativar ou desativar sessões de mensagens após a criação da fila ou da subscrição. Você só pode fazer isso no momento da criação da fila ou da assinatura.
Através do portal do Azure
Ao criar uma fila no portal do Azure, selecione Habilitar sessões , conforme mostrado na imagem a seguir.
Ao criar uma assinatura para um tópico no portal do Azure, selecione Habilitar sessões , conforme mostrado na imagem a seguir.
Utilizar a CLI do Azure
Para criar uma fila com sessões de mensagens habilitadas, use o az servicebus queue create
comando com --enable-session
set como true
.
az servicebus queue create \
--resource-group myresourcegroup \
--namespace-name mynamespace \
--name myqueue \
--enable-session true
Para criar uma assinatura para um tópico com sessões de mensagem habilitadas, use o az servicebus topic subscription create
comando com --enable-session
set como true
.
az servicebus topic subscription create \
--resource-group myresourcegroup \
--namespace-name mynamespace \
--topic-name mytopic \
--name mysubscription \
--enable-session true
Utilizar o Azure PowerShell
Para criar uma fila com sessões de mensagens habilitadas, use o New-AzServiceBusQueue
comando com -RequiresSession
set como $True
.
New-AzServiceBusQueue -ResourceGroup myresourcegroup `
-NamespaceName mynamespace `
-QueueName myqueue `
-RequiresSession $True
Para criar uma assinatura para um tópico com sessões de mensagem habilitadas, use o New-AzServiceBusSubscription
comando com -RequiresSession
set como true
.
New-AzServiceBusSubscription -ResourceGroup myresourcegroup `
-NamespaceName mynamespace `
-TopicName mytopic `
-SubscriptionName mysubscription `
-RequiresSession $True
Com o modelo do Azure Resource Manager
Para criar uma fila com sessões de mensagens habilitadas, defina requiresSession
como true
na seção de propriedades da fila. Para obter mais informações, consulte Referência de modelo de namespaces/filas do 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
}
}
]
}
]
}
Para criar uma assinatura para um tópico com sessões de mensagem habilitadas, defina requiresSession
como na true
seção de propriedades da assinatura. Para obter mais informações, consulte Microsoft.ServiceBus namespaces/topics/subscriptions template reference.
{
"$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
}
}
]
}
]
}
]
}
Próximos passos
Experimente os exemplos no idioma de sua escolha para explorar os recursos do Barramento de Serviço do Azure.
- Exemplos de biblioteca de cliente do Barramento de Serviço do Azure para .NET (mais recente)
- Exemplos de biblioteca de cliente do Barramento de Serviço do Azure para Java (mais recente)
- Exemplos de biblioteca de cliente do Barramento de Serviço do Azure para Python
- Exemplos de biblioteca de cliente do Barramento de Serviço do Azure para JavaScript
- Exemplos de biblioteca de cliente do Barramento de Serviço do Azure para TypeScript
Encontre exemplos para as bibliotecas de cliente .NET e Java mais antigas abaixo:
- Exemplos de biblioteca de cliente do Barramento de Serviço do Azure para .NET (legado)
- Exemplos de biblioteca de cliente do Barramento de Serviço do Azure para Java (legado)
Em 30 de setembro de 2026, desativaremos as bibliotecas do SDK do Barramento de Serviço do Azure WindowsAzure.ServiceBus, Microsoft.Azure.ServiceBus e com.microsoft.azure.servicebus, que não estão em conformidade com as diretrizes do SDK do Azure. Também encerraremos o suporte ao protocolo SBMP, para que você não possa mais usar esse protocolo após 30 de setembro de 2026. Migre para as bibliotecas mais recentes do SDK do Azure, que oferecem atualizações de segurança críticas e recursos aprimorados, antes dessa data.
Embora as bibliotecas mais antigas ainda possam ser usadas após 30 de setembro de 2026, elas não receberão mais suporte e atualizações oficiais da Microsoft. Para obter mais informações, consulte o anúncio de aposentadoria de suporte.