Nota
O acceso a esta páxina require autorización. Pode tentar iniciar sesión ou modificar os directorios.
O acceso a esta páxina require autorización. Pode tentar modificar os directorios.
Functions en Container Apps normalmente se ejecuta en modo de escalado administrado por la plataforma. Al iniciarse, el host de Functions inspecciona los activadores (por ejemplo, HTTP, cola o temporizador), y Azure Container Apps crea la configuración del activador de KEDA correspondiente para la revisión de la aplicación.
Establezca properties.template.scale.allowScalingRuleOverride cuando desee deshabilitar esa asignación automática y proporcione sus propias reglas de escalado en template.scale.rules.
Prerequisites
- Un recurso de Container Apps implementado como una aplicación de Functions (
kind=functionapp). - CLI de Azure, con permiso para llamar a
az restsobre el recurso de la aplicación. - Versión
2026-03-02-previewo posterior de la API REST.
Definición de propiedad
| Propiedad | Tipo | Default | Se aplica a | Versión de API |
|---|---|---|---|---|
properties.template.scale.allowScalingRuleOverride |
boolean (admisión de valores NULL) |
false / null |
Funciones solo para Container Apps (kind=functionapp) |
2026-03-02-preview y versiones posteriores |
Comportamiento
| Invalidar el valor | Normas de escala | Comportamiento |
|---|---|---|
false o null |
Generado automáticamente | Azure crea y administra reglas KEDA a partir de desencadenadores de Functions detectados. Las reglas proporcionadas por el usuario se bloquean en este modo. |
true |
Definido por el cliente | Azure no genera reglas basadas en desencadenadores. Las reglas que proporcione se usan para tomar decisiones de escala. |
true sin reglas proporcionadas |
Ninguno proporcionado | Azure omite la generación de reglas basadas en desencadenadores. Solo el comportamiento del escalador HTTP de línea base de la plataforma permanece activo. |
Active la anulación y proporcione reglas de escalado personalizadas
Este ejemplo comienza con el escalado administrado por la plataforma (allowScalingRuleOverride=false) y cambia al control de reglas manual. La solicitud PATCH incluye una regla de cola Azure y una regla de simultaneidad HTTP.
Cree un archivo de cuerpo PATCH denominado
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 la actualización.
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:
- Las reglas derivadas del desencadenador no se generan para la nueva revisión.
- Las reglas personalizadas (
my-queue-ruleymy-http-rule) se adjuntan a la revisión. - El comportamiento de escalado horizontal ahora se basa en la profundidad de la cola (
queueLength=20) y la simultaneidad HTTP (concurrentRequests=50).
Desactivar la anulación y volver a las reglas generadas por la plataforma
En este ejemplo se devuelve una aplicación configurada manualmente (allowScalingRuleOverride=true) al escalado administrado por la plataforma.
Importante
Se rechaza una solicitud que establece allowScalingRuleOverride=false mientras rules no está vacía. Para volver atrás, envíe rules: [] en el mismo PATCH.
Cree un archivo de cuerpo PATCH denominado
patch-disable-override.json.{ "properties": { "template": { "scale": { "allowScalingRuleOverride": false, "rules": [] } } } }Aplique la actualización.
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:
- Se eliminan las reglas de escalado personalizadas.
- Azure reanuda la creación de reglas de escalado a partir de desencadenadores de Functions detectados.
- Se genera una nueva revisión con el escalado administrado por la plataforma.
Escenarios de error
| Escenario | Código de error | Mensaje de error |
|---|---|---|
Configurar allowScalingRuleOverride=true en una aplicación que no sea de Functions (kind no es functionapp) |
AllowScalingRuleOverrideNotApplicable |
La AllowScalingRuleOverride propiedad solo es aplicable a Function Apps (kind = 'functionapp'). No se puede establecer para otros tipos de aplicaciones de contenedor. |
Establecer allowScalingRuleOverride=false mientras las reglas de escalado personalizadas siguen estando presentes |
FunctionAppCannotSetScaleRules |
No se puede cambiar al modo controlado por la plataforma si ya existen reglas, para evitar eliminar accidentalmente reglas de escalado definidas por el cliente. Los clientes deben establecer [] explícitamente (matriz vacía) en reglas de escalado si quieren que la plataforma administre automáticamente. |