Включить автомасштабирование пространства имён Event Grid (предпросмотр)

В этой статье показано, как включить автомасштабирование для пространства имён Сетка событий Azure. Автомасштабирование требует только трёх свойств конфигурации: флага включения и пределов минимальной и максимальной пропускной способности (TU). Event Grid управляет всей логикой масштабирования внутри компании.

Вы можете включить автомасштабирование с помощью портала Azure, шаблона Azure Resource Manager или REST API.

Prerequisites

Important

Автомасштабирование недоступно в базовом уровне.

Включить автомасштабирование — портал Azure

  1. Войдите на портал Azure.

  2. В строке поиска введите Event Grid Namespaces и выберите его из результатов.

  3. Выберите своё пространство имён из списка.

  4. В разделе "Параметры" выберите "Масштаб".

  5. Выберите автомасштабирование.

  6. Установите минимальное значение единиц пропускной способности . Это значение — наименьшее количество TU, до которого пространство имён может масштабироваться.

  7. Установите значение единиц максимальной пропускной способности . Это значение — наибольшее количество TU, до которого может масштабироваться пространство имён. Максимальное поддерживаемое значение — 40.

  8. Нажмите кнопку "Применить".

  9. Просмотрите сводку изменений и выберите Подтвердить , чтобы применить новые настройки автомасштаба.

    Снимок экрана параметров конфигурации автомасштабирования для пространства имен Сетка событий Azure на портале Azure.

    Note

    После применения изменений автомасштабирование начинает действовать почти сразу. Пространство имён постоянно оценивает использование и корректирует TU по мере необходимости.

Включить автомасштабирование — шаблон ARM

Используйте следующий шаблон Azure Resource Manager, чтобы создать или обновить пространство имён Event Grid с включенным автомасштабированием.

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "namespaceName": {
      "type": "string",
      "metadata": { "description": "Name of the Event Grid namespace." }
    },
    "location": {
      "type": "string",
      "defaultValue": "[resourceGroup().location]",
      "metadata": { "description": "Azure region for the namespace." }
    },
    "minThroughputUnits": {
      "type": "int",
      "defaultValue": 1,
      "minValue": 1,
      "maxValue": 40,
      "metadata": { "description": "Minimum number of throughput units." }
    },
    "maxThroughputUnits": {
      "type": "int",
      "defaultValue": 10,
      "minValue": 1,
      "maxValue": 40,
      "metadata": { "description": "Maximum number of throughput units." }
    },
    "enableAutoscale": {
      "type": "bool",
      "defaultValue": true,
      "metadata": { "description": "Set to true to enable autoscale." }
    }
  },
  "resources": [
    {
      "type": "Microsoft.EventGrid/namespaces",
      "apiVersion": "2025-11-15-preview",
      "name": "[parameters('namespaceName')]",
      "location": "[parameters('location')]",
      "sku": {
        "name": "Standard",
        "capacity": "[parameters('minThroughputUnits')]"
      },
      "properties": {
        "autoScaleConfiguration": {
          "enableAutoScale": "[parameters('enableAutoscale')]",
          "minimumThroughputUnits": "[parameters('minThroughputUnits')]",
          "maximumThroughputUnits": "[parameters('maxThroughputUnits')]"
        }
      }
    }
  ]
}

Развернуть шаблон с помощью Azure CLI:

az deployment group create \
    --resource-group <resource-group-name> \
    --template-file autoscale-namespace.json \
    --parameters namespaceName=<namespace-name> \
                 minThroughputUnits=2 maxThroughputUnits=10

Включить автомасштабирование — REST API

Вы можете включить автомасштабирование при создании или обновлении пространства Event Grid с помощью REST API.

Создайте или обновите пространство имён с включённым автомасштабированием (PUT)

PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/namespaces/{namespaceName}?api-version=2025-11-15-preview

Текст запроса:

{
  "location": "eastus",
  "sku": {
    "name": "Standard",
    "capacity": 1
  },
  "properties": {
    "autoScaleConfiguration": {
      "enableAutoScale": true,
      "minimumThroughputUnits": 2,
      "maximumThroughputUnits": 8
    }
  }
}

Обновить автомасштабирование в существующем пространстве имён (PATCH)

PATCH https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/namespaces/{namespaceName}?api-version=2025-11-15-preview

Текст запроса:

{
  "properties": {
    "autoScaleConfiguration": {
      "enableAutoScale": true,
      "minimumThroughputUnits": 1,
      "maximumThroughputUnits": 10
    }
  }
}

Проверьте конфигурацию Autoscale

После включения Autoscale проверьте конфигурацию, извлечя детали пространства имён.

REST API

GET https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/namespaces/{namespaceName}?api-version=2025-11-15-preview

Тело ответа включает раздел autoScaleConfiguration:

{
  "id": "/subscriptions/12345678-.../providers/Microsoft.EventGrid/namespaces/my-namespace",
  "name": "my-namespace",
  "type": "Microsoft.EventGrid/namespaces",
  "location": "eastus",
  "sku": {
    "name": "Standard",
    "capacity": 1
  },
  "properties": {
    "provisioningState": "Succeeded",
    "autoScaleConfiguration": {
      "enableAutoScale": true,
      "minimumThroughputUnits": 1,
      "maximumThroughputUnits": 10
    },
    "topicsConfiguration": {
      "inputSchema": "CloudEventSchemaV1_0"
    },
    "topicSpacesConfiguration": {
      "state": "Enabled",
      "maximumSessionExpiryInHours": 1,
      "maximumClientSessionsPerAuthenticationName": 1
    },
    "publicNetworkAccess": "Enabled",
    "isZoneRedundant": false,
    "minimumTlsVersionAllowed": "1.2"
  },
  "systemData": {
    "createdBy": "user@contoso.com",
    "createdByType": "User",
    "createdAt": "2026-01-15T10:30:00.0000000Z",
    "lastModifiedBy": "user@contoso.com",
    "lastModifiedByType": "User",
    "lastModifiedAt": "2026-01-15T11:45:00.0000000Z"
  }
}

Отключить автомасштабирование

В этом разделе показано, как отключить автомасштабирование пространства имён Event Grid с помощью портала Azure и REST API. Пространство имён сохраняет текущее распределение TU и автоматически перестаёт масштабироваться.

Azure portal

Следуйте следующим шагам, чтобы отключить автомасштабирование с помощью портала Azure:

  1. Перейдите к своему пространству имен Event Grid на портале Azure.

  2. В разделе "Параметры" выберите "Масштаб".

  3. Выберите Ручное масштабирование, чтобы отключить автомасштабирование.

  4. Щелкните Применить, чтобы сохранить изменения.

    Скриншот с опцией ручного масштабирования в портале Azure.

REST API

При использовании REST API задайте enableAutoScale значение false в разделе properties.

PATCH https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/namespaces/{namespaceName}?api-version=2025-11-15-preview

Текст запроса:

{
  "properties": {
    "autoScaleConfiguration": {
      "enableAutoScale": false
    }
  }
}

Лучшие практики

  • Установите минимальное количество TU, чтобы справляться с базовой нагрузкой. Autoscale требует времени, чтобы обнаружить изменения в использовании и обеспечить дополнительную мощность. Минимальное значение, покрывающее обычный трафик, позволяет избежать замедления во время начального разгона.
  • Не ставьте максимальное количество TU выше того, что позволяет ваш бюджет. Каждый выделенный TU влечёт затраты. Установите максимальное значение на самый высокий уровень мощности, за который вы готовы платить в пиковые периоды.
  • Учитывайте период восстановления во время всплесков трафика. После масштабирования наступает динамический период перезарядки перед следующей операцией масштабирования. Если ваша нагрузка за считанные секунды возрастает от простоя до пиковой, установите минимальное число TU, способное выдержать начальный всплеск нагрузки.
  • Проверьте ограничения вместимости для каждого TU во всех категориях. Автомасштабирование оценивает все категории (вход событий, выход событий, публикация MQTT, клиенты MQTT) вместе. Если ваша нагрузка сосредоточена на одной категории (например, MQTT-соединения), требования TU могут определяться в первую очередь этой категорией.