Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Funkce v Container Apps se obvykle spouští v režimu škálování spravovaném platformou. Při spuštění hostitel Functions zkoumá triggery (například HTTP, fronta nebo časovač) a Azure Container Apps vytvoří pro revizi aplikace odpovídající konfiguraci triggeru KEDA.
Nastavte properties.template.scale.allowScalingRuleOverride , když chcete toto automatické mapování zakázat a poskytnout vlastní pravidla škálování v template.scale.rules.
Předpoklady
- Prostředek Container Apps nasazený jako aplikace Functions (
kind=functionapp). - Azure CLI s oprávněním k volání
az restu prostředku aplikace. - Verze
2026-03-02-previewrozhraní REST API nebo novější.
Definice vlastnosti
| Property | Typ | Výchozí | Vztahuje se na | Verze rozhraní API |
|---|---|---|---|---|
properties.template.scale.allowScalingRuleOverride |
boolean (s možnou hodnotou null) |
false / null |
Funkce pouze pro kontejnerové aplikace (kind=functionapp) |
2026-03-02-preview a novější |
Behavior
| Přepisující hodnota | Pravidla škálování | Behavior |
|---|---|---|
false nebo null |
Automaticky vygenerováno | Azure vytváří a spravuje pravidla KEDA na základě zjištěných triggerů služby Functions. Uživatelem zablokovaná pravidla jsou v tomto režimu. |
true |
Definované zákazníkem | Azure negeneruje pravidla založená na triggerech. Pravidla, která zadáte, se používají k rozhodování o škálování. |
true bez zadaných pravidel |
Není zadáno | Azure přeskočí generování pravidel na základě triggerů. Aktivní zůstává pouze výchozí chování škálovače HTTP platformy. |
Povolte přepsání a zadejte vlastní pravidla škálování
Tento příklad začíná škálováním spravovaným platformou (allowScalingRuleOverride=false) a přepne na ruční řízení pravidel. Požadavek PATCH obsahuje jedno pravidlo služby Azure Queue a jedno pravidlo souběžnosti pro HTTP.
Vytvořte základní soubor PATCH s názvem
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" } } } ] } } } }Nainstalujte aktualizaci.
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
Očekávaný výsledek:
- Pravidla odvozená od triggeru se negenerují pro novou revizi.
- Vlastní pravidla (
my-queue-ruleamy-http-rule) jsou připojena k revizi. - Chování při horizontálním škálování se teď řídí hloubkou fronty (
queueLength=20) a souběžností požadavků HTTP (concurrentRequests=50).
Zrušit přepsání a vrátit se k pravidlům generovaným platformou
Tento příklad vrátí ručně nakonfigurovanou aplikaci (allowScalingRuleOverride=true) pro škálování spravované platformou.
Important
Požadavek, který nastaví allowScalingRuleOverride=false , když rules není prázdný, se odmítne. Chcete-li přepnout zpět, odešlete rules: [] ve stejném požadavku PATCH.
Vytvořte základní soubor PATCH s názvem
patch-disable-override.json.{ "properties": { "template": { "scale": { "allowScalingRuleOverride": false, "rules": [] } } } }Nainstalujte aktualizaci.
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
Očekávaný výsledek:
- Vlastní pravidla škálování jsou vymazána.
- Azure obnoví vytváření pravidel škálování ze zjištěných triggerů functions.
- Vytvoří se nová revize se škálováním spravovaným platformou.
Chybové scénáře
| Scenario | Kód chyby | Zpráva o chybě |
|---|---|---|
Nastavit allowScalingRuleOverride=true v aplikaci, která není aplikací Functions (kind není functionapp) |
AllowScalingRuleOverrideNotApplicable |
Tato AllowScalingRuleOverride vlastnost se vztahuje pouze na aplikace Function Apps (kind = 'functionapp'). Nedá se nastavit pro jiné druhy kontejnerových aplikací. |
Nastavte allowScalingRuleOverride=false, zatímco vlastní pravidla škálování jsou stále přítomna |
FunctionAppCannotSetScaleRules |
Nejde přepnout do režimu řízeného platformou, pokud existují neprázdná pravidla, která chrání náhodně odstraněná pravidla škálování definovaná zákazníkem. Zákazníci musí v pravidlech škálování výslovně nastavit [] (prázdné pole), pokud chtějí, aby platforma spravovala automaticky. |