Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Funkcje w usłudze Container Apps zwykle działają w trybie skalowania zarządzanego przez platformę. Podczas uruchamiania host usługi Azure Functions analizuje wyzwalacze (na przykład HTTP, Queue lub Timer), a Azure Container Apps tworzy odpowiadającą temu konfigurację wyzwalacza KEDA dla rewizji aplikacji.
Ustaw properties.template.scale.allowScalingRuleOverride , gdy chcesz wyłączyć to automatyczne mapowanie i udostępnić własne reguły skalowania w programie template.scale.rules.
Prerequisites
- Zasób usługi Azure Container Apps wdrożony jako aplikacja Functions (
kind=functionapp). - Azure CLI z uprawnieniem do wywoływania
az restwzględem zasobu aplikacji. - Wersja
2026-03-02-previewinterfejsu API REST lub nowsza.
Definicja właściwości
| Property | Typ | Wartość domyślna | Dotyczy | wersja API |
|---|---|---|---|---|
properties.template.scale.allowScalingRuleOverride |
boolean (może mieć wartość null) |
false / null |
Funkcje dostępne tylko w usłudze Container Apps (kind=functionapp) |
2026-03-02-preview i nowsze |
Behavior
| Zastąp wartość | Reguły skalowania | Behavior |
|---|---|---|
false lub null |
Generowane automatycznie | Azure tworzy reguły KEDA i zarządza nimi na podstawie odnalezionych wyzwalaczy usługi Functions. Reguły dostarczone przez użytkownika są blokowane w tym trybie. |
true |
Zdefiniowane przez klienta | Azure nie generuje reguł opartych na wyzwalaczach. Podane reguły są używane do podejmowania decyzji dotyczących skalowania. |
true bez podanych reguł |
Nie podano | Azure pomija generowanie reguł opartych na wyzwalaczach. Aktywne pozostaje tylko domyślne zachowanie skalera HTTP platformy. |
Włączanie zastępowania i udostępnianie niestandardowych reguł skalowania
W tym przykładzie rozpoczyna się skalowanie zarządzane przez platformę (allowScalingRuleOverride=false) i przełącza się do ręcznego sterowania regułami. Żądanie PATCH zawiera jedną regułę kolejki Azure i jedną regułę współbieżności HTTP.
Utwórz plik treści PATCH o nazwie
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" } } } ] } } } }Zastosuj aktualizację.
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
Oczekiwany wynik:
- Reguły pochodzące z wyzwalacza nie są generowane dla nowej wersji.
- Reguły niestandardowe (
my-queue-ruleimy-http-rule) są dołączone do poprawki. - Sposób skalowania poziomego jest teraz uzależniony od długości kolejki (
queueLength=20) i poziomu współbieżności HTTP (concurrentRequests=50).
Wyłącz zastępowanie i przywróć reguły generowane przez platformę
Ten przykład zwraca ręcznie skonfigurowaną aplikację (allowScalingRuleOverride=true) do skalowania zarządzanego przez platformę.
Important
Żądanie, które ustawia allowScalingRuleOverride=false , gdy rules nie jest puste, jest odrzucane. Aby przełączyć z powrotem, wyślij rules: [] w tym samym żądaniu PATCH.
Utwórz plik treści PATCH o nazwie
patch-disable-override.json.{ "properties": { "template": { "scale": { "allowScalingRuleOverride": false, "rules": [] } } } }Zastosuj aktualizację.
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
Oczekiwany wynik:
- Niestandardowe reguły skalowania zostały wyczyszczone.
- Azure wznawia tworzenie reguł skalowania na podstawie odnalezionych wyzwalaczy usługi Functions.
- Nowa rewizja jest generowana z wykorzystaniem skalowania zarządzanego przez platformę.
Scenariusze błędów
| Scenario | Kod błędu | Komunikat o błędzie |
|---|---|---|
Ustaw allowScalingRuleOverride=true w aplikacji, która nie jest aplikacją Functions (kind nie jest functionapp) |
AllowScalingRuleOverrideNotApplicable |
Właściwość AllowScalingRuleOverride ma zastosowanie tylko dla aplikacji funkcji (kind = 'functionapp'). Nie można go ustawić dla innych rodzajów aplikacji kontenera. |
Ustaw allowScalingRuleOverride=false, gdy niestandardowe reguły skalowania nadal istnieją |
FunctionAppCannotSetScaleRules |
Nie można przełączyć się do trybu zarządzanego przez platformę, jeśli istnieją jakiekolwiek reguły, aby zapobiec przypadkowemu usunięciu zdefiniowanych przez klienta reguł skalowania. Klienci muszą jawnie ustawić [] (pustą tablicę) w regułach skalowania, jeśli platforma ma automatycznie zarządzać. |