Habilitar o particionamento no Barramento de Serviço do Azure Básico ou Standard
As partições do Barramento de Serviço permitem que filas e tópicos, ou entidades de mensagens, sejam particionados entre diversos agentes de mensagens. O particionamento faz com que a taxa de transferência geral de uma entidade particionada não seja mais limitada pelo desempenho de um único agente de mensagens. Além disso, a interrupção temporária em um agente de mensagens, por exemplo, durante uma atualização, não torna uma fila particionada ou um tópico indisponível. Filas e tópicos particionados podem conter todos os recursos avançados do Barramento de Serviço, como o suporte a transações e sessões. Para saber mais, confira Tópicos e filas particionados. Este artigo mostra diferentes maneiras de habilitar a detecção de mensagens duplicadas para uma fila ou um tópico do Barramento de Serviço.
Importante
- O particionamento está disponível na criação da identidade para todas as filas e tópicos em SKUs Básico ou Standard.
- Não é possível alterar a opção de particionamento em qualquer fila ou tópico existente. Você só pode definir a opção ao criar uma fila ou um tópico.
- Em um namespace de camada Standard, você pode criar filas e tópicos do Barramento de Serviço em tamanhos de 1, 2, 3, 4 ou 5 GB (o padrão é 1 GB). Com o particionamento habilitado, o Barramento de Serviço criará 16 cópias (16 partições) da entidade, cada uma com o mesmo tamanho especificado. Desse modo, caso crie uma fila com um tamanho de 5 GB e 16 partições, o tamanho máximo da fila será (5 x 16) = 80 GB.
Usar o portal do Azure
Ao criar uma fila no portal do Azure, selecione Habilitar particionamento, conforme mostrado na imagem a seguir.
Ao criar um tópico no portal do Azure, selecione Habilitar particionamento, conforme mostrado na imagem a seguir.
Usar a CLI do Azure
Para criar uma fila com o particionamento habilitado, use o comando az servicebus queue create
com --enable-partitioning
definido como true
.
az servicebus queue create \
--resource-group myresourcegroup \
--namespace-name mynamespace \
--name myqueue \
--enable-partitioning true
Para criar um tópico com o particionamento habilitado, use o comando az servicebus topic create
com --enable-partitioning
definido como true
.
az servicebus topic create \
--resource-group myresourcegroup \
--namespace-name mynamespace \
--name mytopic \
--enable-partitioning true
Usar PowerShell do Azure
Para criar uma fila com o particionamento habilitado, use o comando New-AzServiceBusQueue
com -EnablePartitioning
definido como $True
.
New-AzServiceBusQueue -ResourceGroup myresourcegroup `
-NamespaceName mynamespace `
-QueueName myqueue `
-EnablePartitioning $True
Para criar um tópico com o particionamento habilitado, use o comando New-AzServiceBusTopic
com -EnablePartitioning
definido como true
.
New-AzServiceBusTopic -ResourceGroup myresourcegroup `
-NamespaceName mynamespace `
-Name mytopic `
-EnablePartitioning $True
Usar o modelo do Azure Resource Manager
Para criar uma fila com o particionamento habilitado, defina enablePartitioning
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": {
"enablePartitioning": true
}
}
]
}
]
}
Para criar um tópico com a detecção de duplicidades habilitada, defina enablePartitioning
como true
na seção de propriedades do tópico. Para obter mais informações, confira Referência de modelo de namespaces/tópicos 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"
}
},
"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": {
"enablePartitioning": 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. Antes dessa data, migre para as bibliotecas mais recentes do SDK do Azure, que oferecem atualizações de segurança críticas e funcionalidades aprimoradas.
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.