Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Funktioner i Container Apps körs normalt i plattformshanterat skalningsläge. Vid uppstart granskar Functions-värden utlösare (till exempel HTTP, kö eller timer), och Azure Container Apps skapar motsvarande KEDA-utlösarkonfiguration för appens revision.
Ange properties.template.scale.allowScalingRuleOverride när du vill inaktivera den automatiska mappningen och ange egna skalningsregler i template.scale.rules.
Förutsättningar
- En resurs för Container Apps som distribuerats som en Functions-app (
kind=functionapp). - Azure CLI med behörighet att anropa
az restmot appresursen. - REST API-version
2026-03-02-previeweller senare.
Egenskapsdefinition
| Property | Type | Standardinställning | Gäller för | API-version |
|---|---|---|---|---|
properties.template.scale.allowScalingRuleOverride |
boolean (nullbar) |
false / null |
Endast funktioner i Container Apps (kind=functionapp) |
2026-03-02-preview och senare |
Behavior
| Åsidosättningsvärde | Skalningsregler | Behavior |
|---|---|---|
false eller null |
Automatiskt genererad | Azure skapar och hanterar KEDA-regler från identifierade Functions-utlösare. Regler som tillhandahålls av användaren blockeras i det här läget. |
true |
Kunddefinierad | Azure genererar inte utlösarbaserade regler. De regler som du anger används för skalningsbeslut. |
true utan att några regler har angetts |
Ingen angiven | Azure hoppar över utlösarbaserad regelgenerering. Endast plattformens grundläggande HTTP-skalningsbeteende är fortfarande aktivt. |
Aktivera överstyrning och ange anpassade skalningsregler
Det här exemplet börjar med plattformshanterad skalning (allowScalingRuleOverride=false) och växlar till manuell regelkontroll. PATCH-begäran innehåller en Azure köregel och en HTTP-samtidighetsregel.
Skapa en PATCH-brödtextfil med namnet
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" } } } ] } } } }Tillämpa uppdateringen.
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
Förväntat resultat:
- Regler som härleds av utlösare genereras inte för den nya revisionen.
- De anpassade reglerna (
my-queue-ruleochmy-http-rule) är kopplade till revisionen. - Utskalningsbeteendet följer nu ködjupet (
queueLength=20) och HTTP-samtidigheten (concurrentRequests=50).
Inaktivera åsidosättning och återgå till plattformsgenererade regler
Det här exemplet returnerar en manuellt konfigurerad app (allowScalingRuleOverride=true) till plattformshanterad skalning.
Important
En begäran som anger allowScalingRuleOverride=false när rules den inte är tom avvisas. Om du vill växla tillbaka skickar du rules: [] in samma PATCH.
Skapa en PATCH-brödtextfil med namnet
patch-disable-override.json.{ "properties": { "template": { "scale": { "allowScalingRuleOverride": false, "rules": [] } } } }Tillämpa uppdateringen.
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
Förväntat resultat:
- Anpassade skalningsregler rensas.
- Azure fortsätter att skapa skalningsregler från identifierade Functions-utlösare.
- En ny revision skapas med plattformshanterad skalning.
Felscenarier
| Scenario | Felkod | Felmeddelande |
|---|---|---|
Ställ in allowScalingRuleOverride=true på en app som inte är Functions (kind är inte functionapp) |
AllowScalingRuleOverrideNotApplicable |
Egenskapen AllowScalingRuleOverride gäller endast för Funktionsappar (kind = 'functionapp'). Det går inte att ange för andra typer av containerappar. |
Ange allowScalingRuleOverride=false medan anpassade skalningsregler fortfarande finns |
FunctionAppCannotSetScaleRules |
Det går inte att växla till plattformskontrollerat läge om det finns regler som inte är tomma för att skydda mot oavsiktlig borttagning av kunddefinierade skalningsregler. Kunder måste uttryckligen ange [] (tom matris) i skalningsregler om de vill att plattformen ska hanteras automatiskt. |