Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Container Apps'teki işlevler normalde platform tarafından yönetilen ölçeklendirme modunda çalışır. başlangıçta İşlevler ana bilgisayarı tetikleyicileri (örneğin HTTP, Kuyruk veya Zamanlayıcı) inceler ve Azure Container Apps uygulama düzeltmesi için eşleşen KEDA tetikleyici yapılandırmasını oluşturur.
Bu otomatik eşlemeyi devre dışı bırakmak ve kendi ölçek kurallarınızı template.scale.rules içinde tanımlamak istediğinizde properties.template.scale.allowScalingRuleOverride ayarlayın.
Prerequisites
- İşlevler uygulaması (
kind=functionapp) olarak dağıtılmış bir Container Apps kaynağı. - uygulama kaynağına karşı
az restçağırma iznine sahip Azure CLI. - REST API sürümü
2026-03-02-previewveya daha yenisi.
Özellik tanımı
| Mülkiyet | Türü | Varsayılan | Şunlar için geçerlidir: | API sürümü |
|---|---|---|---|---|
properties.template.scale.allowScalingRuleOverride |
boolean (null atanabilir) |
false / null |
Yalnızca Container Apps'te İşlevler (kind=functionapp) |
2026-03-02-preview ve üzeri |
Behavior
| Geçersiz kılma değeri | Ölçek kuralları | Behavior |
|---|---|---|
false veya null |
Otomatik oluşturulan | Azure bulunan İşlevler tetikleyicilerinden KEDA kuralları oluşturur ve yönetir. Kullanıcı tarafından sağlanan kurallar bu modda engellenir. |
true |
Müşteri tarafından belirlenen | Azure tetikleyici tabanlı kurallar oluşturmaz. Sağladığınız kurallar ölçek kararları için kullanılır. |
true hiçbir kural sağlanmadan |
Sağlanmadı | Azure tetikleyici tabanlı kural oluşturmayı atlar. Yalnızca platformun temel HTTP ölçeklendiricisi davranışı etkin kalır. |
Geçersiz kılmayı etkinleştirin ve özel ölçek kuralları belirtin
Bu örnek, platform tarafından yönetilen ölçeklendirme (allowScalingRuleOverride=false) ile başlar ve el ile kural denetimine geçer. PATCH isteği bir Azure Kuyruk kuralı ve bir HTTP eşzamanlılık kuralı içerir.
adlı
patch-enable-override.jsonbir PATCH gövde dosyası oluşturun.{ "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" } } } ] } } } }Güncelleştirmeyi uygulayın.
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
Beklenen sonuç:
- Tetikleyiciden türetilen kurallar yeni revizyon için oluşturulmuyor.
- Özel kurallar (
my-queue-rulevemy-http-rule) düzeltmeye eklenir. - Ölçeği genişletme davranışı artık kuyruk derinliğini (
queueLength=20) ve HTTP eşzamanlılığını (concurrentRequests=50) izler.
Geçersiz kılmayı devre dışı bırak ve platform tarafından oluşturulan kurallara geri dön
Bu örnek, platform tarafından yönetilen ölçeklendirmeye el ile yapılandırılmış bir uygulama (allowScalingRuleOverride=true) döndürür.
Important
rules boş değilken allowScalingRuleOverride=false ayarlayan bir istek reddedilir. Geri dönmek için rules: [] öğesini aynı PATCH içinde gönderin.
adlı
patch-disable-override.jsonbir PATCH gövde dosyası oluşturun.{ "properties": { "template": { "scale": { "allowScalingRuleOverride": false, "rules": [] } } } }Güncelleştirmeyi uygulayın.
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
Beklenen sonuç:
- Özel ölçek kuralları temizlendi.
- Azure bulunan İşlev tetikleyicilerinden ölçek kuralları oluşturmaya devam eder.
- Platform tarafından yönetilen ölçeklendirme ile yeni bir düzeltme oluşturulur.
Hata senaryoları
| Scenario | Hata kodu | Hata iletisi |
|---|---|---|
İşlevler olmayan bir uygulamada ayarla allowScalingRuleOverride=true (kind değil functionapp) |
AllowScalingRuleOverrideNotApplicable |
AllowScalingRuleOverride özelliği yalnızca İşlev Uygulamaları (kind = 'functionapp') için geçerlidir. Diğer kapsayıcı uygulaması türleri için ayarlanamaz. |
Özel ölçek kuralları hâlâ mevcutken allowScalingRuleOverride=false ayarlayın |
FunctionAppCannotSetScaleRules |
Müşteri tanımlı ölçek kurallarını yanlışlıkla silmeyi korumak için boş olmayan kurallar varsa platform denetimi moduna geçilemez. Müşterilerin, platformun bunu otomatik olarak yönetmesini istiyorlarsa, ölçek kurallarında açıkça [] (boş dizi) belirtmeleri gerekir. |