Habilitar sessões de mensagens para uma fila ou uma assinatura do Barramento de Serviço do Azure
As sessões de Barramento de Serviço do Azure permitem o tratamento conjunto e ordenado de sequências não associadas de mensagens relacionadas. As sessões podem ser usadas em padrões PEPS (primeiro a entrar, primeiro a sair) e solicitação-resposta. Para obter mais informações, confira Sessões de mensagem. Este artigo mostra diferentes maneiras de habilitar sessões para uma fila ou assinatura do Barramento de Serviço.
Importante
- A camada básica do Barramento de Serviço não dá suporte a sessões. As camadas Standard e Premium dão suporte a sessões. Para conferir as diferenças entre essas camadas, consulte preços do Barramento de Serviço.
- Você não poderá habilitar ou desabilitar sessões de mensagens depois que a fila ou assinatura for criada. Você só poderá fazer isso no momento da criação da fila ou da assinatura.
Usando o 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.
Usando a CLI do Azure
Para criar uma fila com sessões de mensagens habilitadas, use o comando az servicebus queue create
com --enable-session
definido 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 mensagens habilitadas, use o comando az servicebus topic subscription create
com --enable-session
definido como true
.
az servicebus topic subscription create \
--resource-group myresourcegroup \
--namespace-name mynamespace \
--topic-name mytopic \
--name mysubscription \
--enable-session true
Usando o PowerShell do Azure
Para criar uma fila com sessões de mensagens habilitadas, use o comando New-AzServiceBusQueue
com -RequiresSession
definido como $True
.
New-AzServiceBusQueue -ResourceGroup myresourcegroup `
-NamespaceName mynamespace `
-QueueName myqueue `
-RequiresSession $True
Para criar uma assinatura para um tópico com sessões de mensagens habilitadas, use o comando New-AzServiceBusSubscription
com -RequiresSession
definido como true
.
New-AzServiceBusSubscription -ResourceGroup myresourcegroup `
-NamespaceName mynamespace `
-TopicName mytopic `
-SubscriptionName mysubscription `
-RequiresSession $True
Usar 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, confira 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 mensagens habilitadas, defina requiresSession
como true
na seção de propriedades da assinatura. Para obter mais informações, confira Referência de modelo de namespaces/tópicos/assinaturas do 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
}
}
]
}
]
}
]
}
Próximas etapas
Experimente os exemplos no idioma de sua escolha para explorar os recursos do Barramento de Serviço do Azure.
- Exemplos da biblioteca de clientes do Barramento de Serviço do Azure para .NET (mais recentes)
- Amostras da biblioteca de clientes do Barramento de Serviço do Azure para Java (mais recentes)
- Exemplos da biblioteca de clientes do Barramento de Serviço do Azure para Python
- Exemplos da biblioteca de clientes do Barramento de Serviço do Azure para JavaScript
- Exemplos da biblioteca de clientes do Barramento de Serviço do Azure para TypeScript
Encontre amostras para as bibliotecas de cliente .NET e Java mais antigas abaixo:
- Exemplos da biblioteca de clientes do Barramento de Serviço do Azure para .NET (herdado)
- Amostras da biblioteca de cliente do Barramento de Serviço do Azure para Java (herdado)
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, portanto, ele não poderá mais ser usado 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, confira o anúncio de desativação do suporte.