Habilitar o particionamento no Barramento de Serviço do Azure básico ou padrão

As partições do Barramento de Serviço permitem que filas e tópicos, ou entidades de mensagens, sejam particionados em vários agentes de mensagens. O particionamento significa que a taxa de transferência geral de uma entidade particionada não é mais limitada pelo desempenho de um único agente de mensagens. Além disso, uma interrupção temporária de um agente de mensagens, por exemplo, durante uma atualização, não torna uma fila particionada ou tópico indisponível. Filas e tópicos particionados podem conter todos os recursos avançados do Service Bus, como suporte para transações e sessões. Para obter mais informações, consulte Tópicos e filas particionadas. Este artigo mostra diferentes maneiras de habilitar a deteção de mensagens duplicadas para uma fila do Service Bus ou um tópico.

Importante

  • O particionamento está disponível na criação de entidades para todas as filas e tópicos em SKUs Básico ou Padrão .
  • Não é possível alterar a opção de particionamento em qualquer fila ou tópico existente. Você só pode definir a opção quando cria uma fila ou um tópico.
  • Em um namespace de camada Standard , você pode criar filas e tópicos do Service Bus em tamanhos de 1, 2, 3, 4 ou 5 GB (o padrão é 1 GB). Com o particionamento habilitado, o Service Bus cria 16 cópias (16 partições) da entidade, cada uma do mesmo tamanho especificado. Como tal, se criar uma fila com 5 GB de tamanho, com 16 partições o tamanho máximo da fila torna-se (5 * 16) = 80 GB.

Utilizar o portal do Azure

Ao criar uma fila no portal do Azure, selecione Habilitar particionamento, conforme mostrado na imagem a seguir.

Enable partitioning at the time of the queue creation

Ao criar um tópico no portal do Azure, selecione Habilitar particionamento , conforme mostrado na imagem a seguir.

Enable partitioning at the time of the topic creation

Utilizar a CLI do Azure

Para criar uma fila com o particionamento habilitado, use o az servicebus queue create comando com --enable-partitioning set 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 az servicebus topic create comando com --enable-partitioning set como true.

az servicebus topic create \
    --resource-group myresourcegroup \
    --namespace-name mynamespace \
    --name mytopic \
    --enable-partitioning true

Utilizar o Azure PowerShell

Para criar uma fila com o particionamento habilitado, use o New-AzServiceBusQueue comando com -EnablePartitioning set como $True.

New-AzServiceBusQueue -ResourceGroup myresourcegroup `
    -NamespaceName mynamespace `
    -QueueName myqueue `
    -EnablePartitioning $True

Para criar um tópico com o particionamento habilitado, use o New-AzServiceBusTopic comando com -EnablePartitioning set como true.

New-AzServiceBusTopic -ResourceGroup myresourcegroup `
    -NamespaceName mynamespace `
    -Name mytopic `
    -EnablePartitioning $True

Utilizar 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, 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": {
            "enablePartitioning": true
          }
        }
      ]
    }
  ]
}

Para criar um tópico com a deteção de duplicados habilitada, defina enablePartitioning como true na seção de propriedades do tópico. Para obter mais informações, consulte 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óximos passos

Experimente os exemplos no idioma de sua escolha para explorar os recursos do Barramento de Serviço do Azure.

Encontre exemplos para as bibliotecas de cliente .NET e Java mais antigas abaixo:

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.