Aktivera partitionering i Azure Service Bus basic eller standard

Med Service Bus-partitioner kan köer och ämnen, eller meddelandeentiteter, partitioneras mellan flera meddelandeköer. Partitionering innebär att det övergripande dataflödet för en partitionerad entitet inte längre begränsas av prestanda för en enda meddelandekö. Ett tillfälligt avbrott för en meddelandekö, till exempel under en uppgradering, gör inte heller en partitionerad kö eller ett ämne otillgängligt. Partitionerade köer och ämnen kan innehålla alla avancerade Service Bus-funktioner, till exempel stöd för transaktioner och sessioner. Mer information finns i Partitionerade köer och ämnen. Den här artikeln visar olika sätt att aktivera duplicerad meddelandeidentifiering för en Service Bus-kö eller ett ämne.

Viktigt!

  • Partitionering är tillgängligt när entitet skapas för alla köer och ämnen i Basic - eller Standard-SKU :er.
  • Det går inte att ändra partitioneringsalternativet i en befintlig kö eller ett befintligt ämne. Du kan bara ange alternativet när du skapar en kö eller ett ämne.
  • I ett standardnivånamnområde kan du skapa Service Bus-köer och -ämnen i 1, 2, 3, 4 eller 5 GB storlekar (standardvärdet är 1 GB). När partitioneringen är aktiverad skapar Service Bus 16 kopior (16 partitioner) av entiteten, var och en av samma storlek som angetts. Om du skapar en kö som är 5 GB stor, med 16 partitioner blir den maximala köstorleken (5 * 16) = 80 GB.

Använda Azure-portalen

När du skapar en i Azure-portalen väljer du Aktivera partitionering enligt följande bild.

Enable partitioning at the time of the queue creation

När du skapar ett ämne i Azure-portalen väljer du Aktivera partitionering enligt följande bild.

Enable partitioning at the time of the topic creation

Använda Azure CLI

Om du vill skapa en kö med partitionering aktiverat använder du az servicebus queue create kommandot med --enable-partitioning inställt på true.

az servicebus queue create \
    --resource-group myresourcegroup \
    --namespace-name mynamespace \
    --name myqueue \
    --enable-partitioning true

Om du vill skapa ett ämne med partitionering aktiverat använder du az servicebus topic create kommandot med --enable-partitioning inställt på true.

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

Använda Azure PowerShell

Om du vill skapa en kö med partitionering aktiverat använder du New-AzServiceBusQueue kommandot med -EnablePartitioning inställt på $True.

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

Om du vill skapa ett ämne med partitionering aktiverat använder du New-AzServiceBusTopic kommandot med -EnablePartitioning inställt på true.

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

Använd Azure Resource Manager-mallar

Om du vill skapa en kö med partitionering aktiverat anger du enablePartitioning till true i avsnittet köegenskaper. Mer information finns i Mallreferens för Microsoft.ServiceBus-namnområden/köer.

{
  "$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
          }
        }
      ]
    }
  ]
}

Om du vill skapa ett ämne med dubblettidentifiering aktiverat anger du enablePartitioning till true i avsnittet ämnesegenskaper. Mer information finns i Mallreferens för Microsoft.ServiceBus-namnområden/ämnen.

{
  "$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
          }
        }
      ]
    }
  ]
}

Nästa steg

Prova exemplen på det språk du väljer för att utforska Azure Service Bus-funktioner.

Hitta exempel för de äldre .NET- och Java-klientbiblioteken nedan:

Den 30 september 2026 drar vi tillbaka Azure Service Bus SDK-biblioteken WindowsAzure.ServiceBus, Microsoft.Azure.ServiceBus och com.microsoft.azure.servicebus, som inte följer Riktlinjerna för Azure SDK. Vi kommer också att avsluta stödet för SBMP-protokollet, så du kommer inte längre att kunna använda det här protokollet efter den 30 september 2026. Migrera till de senaste Azure SDK-biblioteken, som erbjuder kritiska säkerhetsuppdateringar och förbättrade funktioner, före det datumet.

Även om de äldre biblioteken fortfarande kan användas efter den 30 september 2026 får de inte längre officiell support och uppdateringar från Microsoft. Mer information finns i meddelandet om supportavgång.