Ativar a autoescalabilidade para um namespace de Event Grid (pré-visualização)

Este artigo mostra-lhe como ativar a autoescalabilidade para um namespace Azure Event Grid. O dimensionamento automático requer apenas três propriedades de configuração: um sinalizador de ativação e os limites mínimo e máximo de unidades de débito (TU). O Event Grid gere toda a lógica de escalabilidade internamente.

Pode ativar a autoescalabilidade usando o portal Azure, um modelo do Azure Resource Manager ou a API REST.

Prerequisites

  • Uma assinatura do Azure. Se ainda não tiver uma, crie uma conta gratuita.
  • Um namespace de Grelha de Eventos no nível Standard.

Importante

A autoescala não está disponível no nível Básico.

Ativar o dimensionamento automático - portal do Azure

  1. Inicie sessão no portal Azure.

  2. Na barra de pesquisa, escreva Event Grid Namespaces e selecione-o nos resultados.

  3. Selecione o seu espaço de nomes da lista.

  4. Em Definições, selecione Dimensionamento.

  5. Selecione Autoescala.

  6. Defina o valor das unidades de rendimento mínimo . Este valor é o menor número de TUs a que o namespace pode diminuir.

  7. Defina o valor das unidades de rendimento máximo . Este valor é o maior número de TUs que o namespace pode escalar. O valor máximo suportado é 40.

  8. Selecione Aplicar.

  9. Veja o resumo das alterações e selecione Confirmar para aplicar as novas definições de autoescala.

    Captura de ecrã das definições de configuração do Autoscale para um namespace do Azure Event Grid no portal Azure.

    Note

    Depois de aplicares as alterações, o Autoscale entra em vigor quase imediatamente. O namespace avalia continuamente a utilização e ajusta os TUs conforme necessário.

Ativar autoescalabilidade - modelo ARM

Utilize o seguinte modelo do Azure Resource Manager para criar ou atualizar um namespace Event Grid com o autoscale ativado.

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

Implemente o modelo usando CLI do Azure:

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

Ativar autoscale - API REST

Pode ativar o autoescalamento ao criar ou atualizar um namespace de Event Grid usando a API REST.

Criar ou atualizar um espaço de nomes com o dimensionamento automático ativado (PUT)

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

Corpo do pedido:

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

Atualizar a escala automática num namespace existente (PATCH)

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

Corpo do pedido:

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

Verificar configuração do Autoscale

Depois de ativar o Autoscale, verifique a configuração recuperando os detalhes do namespace.

API REST

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

O corpo da resposta inclui a secção 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"
  }
}

Desativar o redimensionamento automático

Esta secção mostra como desativar o autoscale para um namespace Event Grid usando o portal Azure e a API REST. O namespace mantém a sua alocação atual de TU e para de escalar automaticamente.

portal do Azure

Siga estes passos para desativar a autoescalabilidade usando o portal Azure:

  1. Vá ao namespace do seu Event Grid no portal Azure.

  2. Em Definições, selecione Dimensionamento.

  3. Selecionar escala manual para desativar a escala automática.

  4. Selecione Aplicar para guardar as alterações.

    Captura de ecrã que mostra a opção manual de escala no portal Azure.

API REST

Ao usar a API REST, defina enableAutoScale como false em em propriedades .

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

Corpo do pedido:

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

Melhores práticas

  • Define o número mínimo de TU para lidar com a tua carga base. O Autoscale precisa de tempo para detetar alterações de utilização e fornecer mais capacidade. Um valor mínimo que cubra o tráfego normal evita a limitação durante a aceleração inicial.
  • Não definas o número máximo de TU acima do que o teu orçamento permite. Cada TU alocado implica custos. Defina o máximo para a capacidade máxima pela qual está disposto a pagar durante os períodos de maior afluência.
  • Tenha em conta o período de recarga durante picos de tráfego. Após um aumento da escala, existe um período de arrefecimento dinâmico antes da operação de dimensionamento seguinte. Se a sua carga de trabalho passar rapidamente de inativa para o pico em segundos, defina um número mínimo de TUs que possa absorver o pico inicial.
  • Revise os limites de capacidade por TU para todas as categorias. Autoscale analisa todas as categorias (entrada de eventos, saída de eventos, publicação MQTT, clientes MQTT) em conjunto. Se a sua carga de trabalho for dominada por uma categoria (por exemplo, ligações MQTT), os requisitos da TU podem ser determinados principalmente por essa categoria.