Aktivieren der Partitionierung in Azure Service Bus Basic oder Standard

Service Bus-Partitionen ermöglichen das Partitionieren von Warteschlangen und Themen oder Nachrichtenentitäten über mehrere Nachrichtenbroker. Partitionierung bedeutet, dass der Gesamtdurchsatz einer partitionierten Entität nicht mehr durch die Leistung eines einzelnen Nachrichtenbrokers beschränkt wird. Darüber hinaus bleiben bei einem temporären Ausfall eines Nachrichtenbrokers, z. B. während eines Upgrades, die partitionierten Warteschlangen oder Themen weiterhin verfügbar. Partitionierte Warteschlangen und Themen können alle erweiterten Service Bus-Features enthalten, z. B. die Unterstützung von Transaktionen und Sitzungen. Weitere Informationen finden Sie unter Partitionierte Warteschlangen und Themen. In diesem Artikel werden verschiedene Möglichkeiten zum Aktivieren der Erkennung doppelter Nachrichten für eine Service Bus-Warteschlange oder ein Thema beschrieben.

Wichtig

  • Die Partitionierung ist bei der Erstellung der Entität für alle Warteschlangen und Themen in den SKUs Basic und Standard verfügbar.
  • Es ist nicht möglich, die Partitionierungsoption für eine vorhandene Warteschlange oder ein Thema zu ändern. Sie können die Option nur festlegen, wenn Sie eine Warteschlange oder ein Thema erstellen.
  • In einem Namespace des Standard-Tarifs können Sie Service Bus-Warteschlangen und -Themen in Größen von 1, 2, 3, 4 oder 5 GB erstellen (die Standardgröße ist 1 GB). Bei aktivierter Partitionierung erstellt Service Bus 16 Kopien (16 Partitionen) der Entität mit der jeweils angegebenen Größe. Wenn Sie also eine Warteschlange mit einer Größe von 5 GB erstellen, beträgt die maximale Warteschlangengröße bei 16 Partitionen 5 × 16 = 80 GB.

Verwenden des Azure-Portals

Wenn Sie eine Warteschlange im Azure-Portal erstellen, wählen Sie Partitionierung aktivieren aus, wie in der folgenden Abbildung dargestellt.

Enable partitioning at the time of the queue creation

Wenn Sie ein Thema im Azure-Portal erstellen, wählen Sie Partitionierung aktivieren aus, wie in der folgenden Abbildung dargestellt.

Enable partitioning at the time of the topic creation

Mithilfe der Azure-Befehlszeilenschnittstelle

Um eine Warteschlange mit aktivierter Partitionierung zu erstellen, verwenden Sie den az servicebus queue create-Befehl , bei dem --enable-partitioning auf true festgelegt ist.

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

Um ein Thema mit aktivierter Partitionierung zu erstellen, verwenden Sie den az servicebus topic create-Befehl, bei dem --enable-partitioning auf true festgelegt ist.

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

Mithilfe von Azure PowerShell

Um eine Warteschlange mit aktivierter Partitionierung zu erstellen, verwenden Sie den New-AzServiceBusQueue-Befehl , bei dem -EnablePartitioning auf $True festgelegt ist.

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

Um ein Thema mit aktivierter Partitionierung zu erstellen, verwenden Sie den New-AzServiceBusTopic-Befehl, bei dem -EnablePartitioning auf true festgelegt ist.

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

Verwenden von Azure Resource Manager-Vorlagen

Um eine Warteschlange mit aktivierter Partitionierung zu erstellen, stellen Sie im Abschnitt Warteschlangeneigenschaften enablePartitioning auf true. Weitere Informationen finden Sie unter Microsoft.ServiceBus namespaces/queues template reference.

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

Um ein Thema mit aktivierter Duplikaterkennung zu erstellen, stellen Sie im Abschnitt Themeneigenschaften enablePartitioning auf true. Weitere Informationen finden Sie unter Microsoft.ServiceBus namespaces/topics 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"
      }
    },
    "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ächste Schritte

Sehen Sie sich die Beispiele in der Sprache Ihrer Wahl an, um Azure Service Bus-Features zu untersuchen.

Hier finden Sie Beispiele für die älteren .NET- und Java-Clientbibliotheken:

Am 30. September 2026 werden die Azure Service Bus SDK-Bibliotheken „WindowsAzure.ServiceBus“, „Microsoft.Azure.ServiceBus“ und „com.microsoft.azure.servicebus“ eingestellt, da sie nicht den Azure SDK-Richtlinien entsprechen. Außerdem wird die Unterstützung des SBMP-Protokolls beendet, sodass Sie dieses Protokoll nach dem 30. September 2026 nicht mehr verwenden können. Migrieren Sie vor diesem Datum zu den neuesten Azure SDK-Bibliotheken, die wichtige Sicherheitsupdates und verbesserte Funktionen bieten.

Obwohl die älteren Bibliotheken noch über den 30. September 2026 hinaus verwendet werden können, erhalten sie keinen offiziellen Support und keine Updates mehr von Microsoft. Weitere Informationen finden Sie in der Ankündigung der Supporteinstellung.