Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Normalmente, as funções em Aplicativos de Contêiner são executadas no modo de dimensionamento gerenciado pela plataforma. Na inicialização, o host do Functions inspeciona gatilhos (por exemplo, HTTP, Fila ou Temporizador) e Aplicativos de Contêiner do Azure cria a configuração de gatilho KEDA correspondente para a revisão do aplicativo.
Defina properties.template.scale.allowScalingRuleOverride quando quiser desabilitar esse mapeamento automático e forneça suas próprias regras de escala.template.scale.rules
Pré-requisitos
- Um recurso do Container Apps implantado como um aplicativo Functions (
kind=functionapp). - A CLI do Azure, com permissão para chamar
az restno recurso do aplicativo. - Versão da API
2026-03-02-previewREST ou mais recente.
Definição de propriedade
| Property | Tipo | Default | Aplica-se a | Versão da API |
|---|---|---|---|---|
properties.template.scale.allowScalingRuleOverride |
boolean (anulável) |
false / null |
Somente Functions em Aplicativos de Contêiner (kind=functionapp) |
2026-03-02-preview e posterior |
Behavior
| Valor de substituição | Regras de escala | Behavior |
|---|---|---|
false ou null |
Gerado automaticamente | O Azure cria e gerencia regras do KEDA a partir dos gatilhos do Functions detectados. As regras fornecidas pelo usuário são bloqueadas nesse modo. |
true |
Definido pelo cliente | Azure não gera regras baseadas em gatilho. As regras fornecidas são usadas para decisões de escala. |
true sem regras fornecidas |
Nada fornecido | Azure ignora a geração de regras baseada em gatilho. Apenas o comportamento padrão do escalador HTTP da plataforma permanece ativo. |
Habilitar a substituição e fornecer regras de escala personalizadas
Este exemplo começa com o dimensionamento gerenciado pela plataforma (allowScalingRuleOverride=false) e alterna para o controle de regra manual. A solicitação PATCH inclui uma regra de fila Azure e uma regra de simultaneidade HTTP.
Criar um arquivo de corpo PATCH chamado
patch-enable-override.json.{ "properties": { "template": { "scale": { "allowScalingRuleOverride": true, "rules": [ { "name": "my-queue-rule", "custom": { "type": "azure-queue", "metadata": { "queueName": "my-test-queue", "queueLength": "20", "connectionFromEnv": "AzureWebJobsStorage" } } }, { "name": "my-http-rule", "http": { "metadata": { "concurrentRequests": "50" } } } ] } } } }Aplique a atualização.
az rest --method PATCH \ --uri "https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.App/containerApps/{appName}?api-version=2026-03-02-preview" \ --headers "Content-Type=application/json" \ --body @patch-enable-override.json
Resultado esperado:
- As regras derivadas do gatilho não são geradas para a nova revisão.
- As regras personalizadas (
my-queue-ruleemy-http-rule) são anexadas à revisão. - O comportamento de expansão agora segue a profundidade da fila (
queueLength=20) e a simultaneidade HTTP (concurrentRequests=50).
Desativar a substituição e voltar às regras geradas pela plataforma
Este exemplo retorna um aplicativo configurado manualmente (allowScalingRuleOverride=true) para o dimensionamento gerenciado pela plataforma.
Importante
Uma solicitação que define allowScalingRuleOverride=false enquanto rules não está vazia é rejeitada. Para voltar atrás, envie rules: [] no mesmo PATCH.
Criar um arquivo de corpo PATCH chamado
patch-disable-override.json.{ "properties": { "template": { "scale": { "allowScalingRuleOverride": false, "rules": [] } } } }Aplique a atualização.
az rest --method PATCH \ --uri "https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.App/containerApps/{appName}?api-version=2026-03-02-preview" \ --headers "Content-Type=application/json" \ --body @patch-disable-override.json
Resultado esperado:
- As regras de escala personalizadas foram removidas.
- O Azure volta a criar regras de escala a partir dos gatilhos descobertos do Azure Functions.
- Uma nova revisão é criada com o dimensionamento gerenciado pela plataforma.
Cenários de erro
| Scenario | Código do erro | Mensagem de erro |
|---|---|---|
Definir allowScalingRuleOverride=true em um aplicativo que não seja de Funções (kind não é functionapp) |
AllowScalingRuleOverrideNotApplicable |
A AllowScalingRuleOverride propriedade só é aplicável aos Aplicativos de Funções (kind = 'functionapp'). Ele não pode ser definido para outros tipos de aplicativo de contêiner. |
Definir allowScalingRuleOverride=false enquanto as regras de escala personalizadas ainda estão presentes |
FunctionAppCannotSetScaleRules |
Não é possível alternar para o modo gerenciado pela plataforma se existirem regras de escalonamento não vazias, para evitar a exclusão acidental de regras de escalonamento definidas pelo cliente. Os clientes precisam definir [] explicitamente (matriz vazia) em regras de escala se quiserem que a plataforma gerencie automaticamente. |