Включение разбиения на разделы в шине служб Azure базового или стандартного уровня.

Секции служебной шины позволяют секционировать очереди и разделы или сущности обмена сообщениями между несколькими брокерами сообщений. Секционирование означает, что общая пропускная способность секционированной сущности больше не ограничивается производительностью одного брокера сообщений. Кроме того, временный сбой брокера сообщений, например во время обновления, не делает секционированную очередь или тему недоступными. Секционированные очереди и разделы могут содержать все расширенные функции служебной шины, такие как поддержка транзакций и сеансов. Дополнительные сведения см. в секционированных очередях и темах. В этой статье показаны различные способы включения разбиения на разделы для очереди или темы Service Bus.

Это важно

  • Секционирование доступно при создании сущностей для всех очередей и разделов в номерах SKU "Базовый" или "Стандартный".
  • Невозможно изменить параметр секционирования в любой существующей очереди или разделе. Параметр можно задать только при создании очереди или раздела.
  • В пространстве имен уровня "Стандартный " можно создавать очереди и разделы служебной шины в 1, 2, 3, 4 или 5 ГБ (по умолчанию — 1 ГБ). С включенным секционированием служебная шина создает 16 копий (16 секций) сущности, каждый из указанных размеров. Поэтому при создании очереди размером 5 ГБ с 16 разделами максимальный размер очереди составит 80 ГБ (5 × 16).

Используйте портал Azure

При создании очереди на портале Azure выберите включить секционирование , как показано на следующем рисунке.

Включение секционирования во время создания очереди

При создании раздела на портале Azure выберите "Включить секционирование ", как показано на следующем рисунке.

Включение секционирования во время создания раздела

Использование Azure CLI

Чтобы создать очередь с включенным секционированием, используйте az servicebus queue create команду с --enable-partitioning заданным значением true.

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

Чтобы создать тему с включенным секционированием, используйте команду az servicebus topic create с параметром --enable-partitioning, установленным на true.

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

Использование Azure PowerShell

Чтобы создать очередь с включенным секционированием, используйте New-AzServiceBusQueue команду с -EnablePartitioning заданным значением $True.

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

Чтобы создать тему с включенным секционированием, используйте команду New-AzServiceBusTopic с параметром -EnablePartitioning, установленным на true.

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

Использовать шаблон

Чтобы создать очередь с включенным секционированием, задайте значение enablePartitioningtrue в разделе свойств очереди. Для получения дополнительной информации см. справочник по шаблонам пространств имен и очередей Microsoft.ServiceBus.

@description('Name of the Service Bus namespace')
param serviceBusNamespaceName string

@description('Name of the Queue')
param serviceBusQueueName string

@description('Location for all resources.')
param location string = resourceGroup().location

resource serviceBusNamespace 'Microsoft.ServiceBus/namespaces@2024-01-01' = {
  name: serviceBusNamespaceName
  location: location
  sku: {
    name: 'Standard'
  }

  resource queue 'queues' = {
    name: serviceBusQueueName
    properties: {
      enablePartitioning: true
    }
  }
}

Чтобы создать раздел с включенным секционированием, задайте значение enablePartitioningtrue в разделе свойств раздела. Дополнительные сведения см. в справочнике по пространствам имен и разделам Microsoft.ServiceBus.

@description('Name of the Service Bus namespace')
param serviceBusNamespaceName string

@description('Name of the Topic')
param serviceBusTopicName string

@description('Location for all resources.')
param location string = resourceGroup().location

resource serviceBusNamespace 'Microsoft.ServiceBus/namespaces@2024-01-01' = {
  name: serviceBusNamespaceName
  location: location
  sku: {
    name: 'Standard'
  }

  resource topic 'topics' = {
    name: serviceBusTopicName
    properties: {
      enablePartitioning: true
    }
  }
}

Дальнейшие шаги

Опробуйте примеры на выбранном языке, чтобы изучить возможности Служебной шины Azure.

Найдите примеры для более старых клиентских библиотек .NET и Java ниже:

30 сентября 2026 г. мы выведем из эксплуатации библиотеки SDK Azure Service Bus: WindowsAzure.ServiceBus, Microsoft.Azure.ServiceBus и com.microsoft.azure.servicebus, которые не соответствуют рекомендациям по Azure SDK. Мы также завершим поддержку протокола SBMP, поэтому вы больше не сможете использовать этот протокол после 30 сентября 2026 года. Перейдите в последние библиотеки пакета SDK Azure, которые предлагают критически важные обновления системы безопасности и улучшенные возможности до этой даты.

Хотя старые библиотеки по-прежнему могут использоваться после 30 сентября 2026 года, они больше не будут получать официальную поддержку и обновления от Майкрософт. Для получения дополнительной информации см. объявление о прекращении поддержки.