Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Funktionen in Container-Apps werden normalerweise im plattformverwalteten Skalierungsmodus ausgeführt. Beim Start prüft der Funktionenhost Trigger (z. B. HTTP, Warteschlange oder Timer), und Azure Container Apps erstellt die entsprechende KEDA-Triggerkonfiguration für die App-Revision.
Setzen Sie properties.template.scale.allowScalingRuleOverride, wenn Sie diese automatische Zuordnung deaktivieren und eigene Skalierungsregeln in template.scale.rules angeben möchten.
Voraussetzungen
- Eine Container-Apps-Ressource, die als Functions-App (
kind=functionapp) bereitgestellt wird. - Die Azure CLI mit der Berechtigung,
az restfür die App-Ressource aufzurufen. - REST-API-Version
2026-03-02-previewoder höher.
Eigenschaftsdefinition
| Property | Typ | Vorgabe | Gilt für: | API-Version |
|---|---|---|---|---|
properties.template.scale.allowScalingRuleOverride |
boolean (NULL-Werte zulassen) |
false / null |
Nur Funktionen für Container-Apps (kind=functionapp) |
2026-03-02-preview und höher |
Behavior
| Außerkraftsetzungswert | Skalierungsregeln | Behavior |
|---|---|---|
false oder null |
Automatisch generiert | Azure erstellt und verwaltet KEDA-Regeln aus ermittelten Funktionentriggern. Vom Benutzer bereitgestellte Regeln werden in diesem Modus blockiert. |
true |
Kundendefiniert | Azure generiert keine triggerbasierten Regeln. Die von Ihnen bereitgestellten Regeln werden für Skalierungsentscheidungen verwendet. |
true ohne Regeln angegeben |
Keine Angabe | Azure überspringt die triggerbasierte Regelgenerierung. Nur das grundlegende HTTP-Scalerverhalten der Plattform bleibt aktiv. |
Überschreibung aktivieren und benutzerdefinierte Skalierungsregeln angeben
Dieses Beispiel beginnt mit der plattformverwalteten Skalierung (allowScalingRuleOverride=false) und wechselt zur manuellen Regelsteuerung. Die PATCH-Anforderung enthält eine Azure Warteschlangenregel und eine HTTP-Parallelitätsregel.
Erstellen Sie eine PATCH-Bodydatei mit dem Namen
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" } } } ] } } } }Wenden Sie das Update an.
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
Erwartetes Ergebnis:
- Trigger-abgeleitete Regeln werden für die neue Revision nicht generiert.
- Die benutzerdefinierten Regeln (
my-queue-ruleundmy-http-rule) werden der Überarbeitung angefügt. - Das Skalierungsverhalten folgt jetzt der Warteschlangentiefe (
queueLength=20) und der HTTP-Parallelität (concurrentRequests=50).
Außerkraftsetzung deaktivieren und auf plattformgenerierte Regeln zurücksetzen
In diesem Beispiel wird eine manuell konfigurierte App (allowScalingRuleOverride=true) zur plattformverwalteten Skalierung zurückgegeben.
Important
Eine Anforderung, die festlegt allowScalingRuleOverride=false , während rules nicht leer ist, wird abgelehnt. Um zurückzuwechseln, senden Sie rules: [] im selben PATCH-Vorgang.
Erstellen Sie eine PATCH-Textkörperdatei mit dem Namen
patch-disable-override.json.{ "properties": { "template": { "scale": { "allowScalingRuleOverride": false, "rules": [] } } } }Wenden Sie das Update an.
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
Erwartetes Ergebnis:
- Benutzerdefinierte Skalierungsregeln werden gelöscht.
- Azure setzt das Erstellen von Skalierungsregeln aus ermittelten Funktionentriggern fort.
- Eine neue Revision wird mit plattformverwalteter Skalierung erstellt.
Fehlerszenarien
| Scenario | Fehlercode | Fehlermeldung |
|---|---|---|
Legen Sie allowScalingRuleOverride=true für eine Nicht-Funktions-App fest (kind ist nicht functionapp) |
AllowScalingRuleOverrideNotApplicable |
Die AllowScalingRuleOverride Eigenschaft gilt nur für Funktions-Apps (kind = 'functionapp'). Sie kann nicht für andere Container-App-Typen festgelegt werden. |
Festlegen allowScalingRuleOverride=false , während benutzerdefinierte Skalierungsregeln noch vorhanden sind |
FunctionAppCannotSetScaleRules |
Kann nicht in den plattformgesteuerten Modus wechseln, wenn nicht leere Regeln vorhanden sind, um versehentlich gelöschte, vom Kunden definierte Skalierungsregeln zu schützen. Kunden müssen in den Skalierungsregeln explizit [] (leeres Array) festlegen, wenn die Plattform die Verwaltung automatisch übernehmen soll. |