Abilitare il partizionamento in bus di servizio di Azure basic o standard

bus di servizio partizioni consentono di partizionare le code e gli argomenti o le entità di messaggistica tra più broker di messaggi. Il partizionamento indica che la velocità effettiva complessiva di un'entità partizionata non è più limitata dalle prestazioni di un singolo broker di messaggi. Inoltre, un'interruzione temporanea di un broker di messaggi, ad esempio durante un aggiornamento, non esegue il rendering di una coda o di un argomento partizionato non disponibile. Le code e gli argomenti partizionati possono contenere tutte le funzionalità avanzate del bus di servizio, ad esempio il supporto delle transazioni e delle sessioni. Per altre informazioni, vedere Code e argomenti partizionati. Questo articolo illustra diversi modi per abilitare il rilevamento di messaggi duplicati per una coda bus di servizio o un argomento.

Importante

  • Il partizionamento è disponibile in fase di creazione di entità per tutte le code e gli argomenti negli SKU Basic o Standard .
  • Non è possibile modificare l'opzione di partizionamento in qualsiasi coda o argomento esistente. È possibile impostare l'opzione solo quando si crea una coda o un argomento.
  • In uno spazio dei nomi di livello Standard è possibile creare bus di servizio code e argomenti in 1, 2, 3, 4 o 5 GB (il valore predefinito è 1 GB). Con il partizionamento abilitato, bus di servizio crea 16 copie (16 partizioni) dell'entità, ognuna delle stesse dimensioni specificate. Di conseguenza, se si crea una coda di dimensioni pari a 5 GB, con 16 partizioni la dimensione massima della coda diventa (5 * 16) = 80 GB.

Usare il portale di Azure

Quando si crea una coda nel portale di Azure, selezionare Abilita partizionamento come illustrato nell'immagine seguente.

Enable partitioning at the time of the queue creation

Quando si crea un argomento nella portale di Azure, selezionare Abilita partizionamento come illustrato nell'immagine seguente.

Enable partitioning at the time of the topic creation

Utilizzare l'interfaccia della riga di comando di Azure

Per creare una coda con il partizionamento abilitato, usare il az servicebus queue create comando con --enable-partitioning impostato su true.

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

Per creare un argomento con il partizionamento abilitato, usare il az servicebus topic create comando con --enable-partitioning impostato su true.

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

Usare Azure PowerShell

Per creare una coda con il partizionamento abilitato, usare il New-AzServiceBusQueue comando con -EnablePartitioning impostato su $True.

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

Per creare un argomento con il partizionamento abilitato, usare il New-AzServiceBusTopic comando con -EnablePartitioning impostato su true.

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

Usare un modello di Azure Resource Manager

Per creare una coda con il partizionamento abilitato, impostare su enablePartitioning true nella sezione delle proprietà della coda. Per altre informazioni, vedere Informazioni di riferimento sui modelli di spazi dei nomi/code 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
          }
        }
      ]
    }
  ]
}

Per creare un argomento con rilevamento duplicato abilitato, impostare su enablePartitioning true nella sezione delle proprietà dell'argomento. Per altre informazioni, vedere Informazioni di riferimento sui modelli di spazi dei nomi/argomenti 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
          }
        }
      ]
    }
  ]
}

Passaggi successivi

Provare gli esempi nel linguaggio preferito per esplorare bus di servizio di Azure funzionalità.

Trovare esempi per le librerie client .NET e Java precedenti di seguito:

Il 30 settembre 2026 verranno ritirati le librerie bus di servizio di Azure SDK WindowsAzure.ServiceBus, Microsoft.Azure.ServiceBus e com.microsoft.azure.servicebus, che non sono conformi alle linee guida di Azure SDK. Il supporto del protocollo SBMP verrà terminato, quindi non sarà più possibile usare questo protocollo dopo il 30 settembre 2026. Eseguire la migrazione alle librerie più recenti di Azure SDK, che offrono aggiornamenti critici della sicurezza e funzionalità migliorate, prima di tale data.

Anche se le librerie precedenti possono ancora essere usate oltre il 30 settembre 2026, non riceveranno più il supporto e gli aggiornamenti ufficiali da Microsoft. Per altre informazioni, vedere l'annuncio di ritiro del supporto.