Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Functions in Container Apps worden normaal gesproken uitgevoerd in de door het platform beheerde schaalmodus. Bij het opstarten inspecteert de Functions-host triggers (bijvoorbeeld HTTP, Wachtrij of Timer) en Azure Container Apps maakt de overeenkomende KEDA-triggerconfiguratie voor de app-revisie.
Stel properties.template.scale.allowScalingRuleOverride in wanneer u deze automatische toewijzing wilt uitschakelen en uw eigen schaalregels wilt opgeven in template.scale.rules.
Prerequisites
- Een Container Apps-resource die is geïmplementeerd als een Functions-app (
kind=functionapp). - De Azure CLI, met toestemming om
az restaan te roepen op de app-resource. - REST API-versie
2026-03-02-previewof nieuwer.
Eigenschapsdefinitie
| Property | Typ | Standaard | Van toepassing op: | API-versie |
|---|---|---|---|---|
properties.template.scale.allowScalingRuleOverride |
boolean (nullbaar) |
false / null |
Alleen functies in Container Apps (kind=functionapp) |
2026-03-02-preview en hoger |
Behavior
| Overschrijvingswaarde | Regels voor schalen | Behavior |
|---|---|---|
false of null |
Automatisch gegenereerd | Azure maakt en beheert KEDA-regels van gedetecteerde Functions-triggers. Door de gebruiker opgegeven regels worden geblokkeerd in deze modus. |
true |
Door de klant gedefinieerd | Azure genereert geen regels op basis van triggers. De regels die u opgeeft, worden gebruikt voor schaalbeslissingen. |
true zonder opgegeven regels |
Niet opgegeven | Azure slaat het genereren van regels op basis van triggers over. Alleen het standaardgedrag van de HTTP-scaler van het platform blijft actief. |
Overschrijving inschakelen en aangepaste schaalregels instellen
Dit voorbeeld begint met door platform beheerde schaalaanpassing (allowScalingRuleOverride=false) en schakelt over naar handmatig regelbeheer. De PATCH-aanvraag bevat één Azure wachtrijregel en één HTTP-gelijktijdigheidsregel.
Maak een PATCH-hoofdbestand met de naam
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" } } } ] } } } }Pas deze update toe.
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
Verwacht resultaat:
- Door triggers afgeleide regels worden niet gegenereerd voor de nieuwe revisie.
- De aangepaste regels (
my-queue-ruleenmy-http-rule) zijn gekoppeld aan de revisie. - Uitschaalgedrag volgt nu de wachtrijlengte (
queueLength=20) en HTTP-concurrency (concurrentRequests=50).
Overschrijving uitschakelen en terugzetten naar door het platform gegenereerde regels
In dit voorbeeld wordt een handmatig geconfigureerde app (allowScalingRuleOverride=true) geretourneerd naar door het platform beheerde schaalaanpassing.
Important
Een aanvraag waarbij allowScalingRuleOverride=false wordt ingesteld terwijl rules niet leeg is, wordt afgewezen. Als u wilt teruggaan, stuurt u rules: [] in dezelfde PATCH.
Maak een PATCH-hoofdbestand met de naam
patch-disable-override.json.{ "properties": { "template": { "scale": { "allowScalingRuleOverride": false, "rules": [] } } } }Pas deze update toe.
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
Verwacht resultaat:
- Aangepaste schaalregels worden verwijderd.
- Azure hervat het maken van schaalregels op basis van gedetecteerde Functions-triggers.
- Er wordt een nieuwe revisie geproduceerd met door het platform beheerde schaalaanpassing.
Foutscenario's
| Scenario | Foutcode | Foutmelding |
|---|---|---|
Stel allowScalingRuleOverride=true in op een app die geen Functions-app is (kind is geen functionapp) |
AllowScalingRuleOverrideNotApplicable |
De AllowScalingRuleOverride eigenschap is alleen van toepassing op Functie-apps (kind = 'functionapp'). Het kan niet worden ingesteld voor andere soorten container-apps. |
Instellen op allowScalingRuleOverride=false zolang aangepaste schaalregels nog aanwezig zijn |
FunctionAppCannotSetScaleRules |
Er kan niet worden overgeschakeld naar de platformbeheerde modus als er niet-lege schaalregels bestaan, om te voorkomen dat door de klant gedefinieerde schaalregels per ongeluk worden verwijderd. Klanten moeten expliciet [] (lege array) instellen in schaalregels als ze willen dat het platform dit automatisch beheert. |
Verwante inhoud
- Gebruik Azure Functions in Azure Container Apps
- Toewijzingen voor schalen van Azure Functions met KEDA in Container Apps
- Schaal een app in Azure Container Apps