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.
İşlev uygulama örneğindeki tüm işlevleri etkileyen yapılandırma seçeneklerini içeren host.json meta verisi dosyası. Bu makale, sürüm 1.x çalışma zamanı için kullanılabilir ayarları listeler. JSON şeması konumundadır http://json.schemastore.org/host.
Uyarı
Bu makale Azure Functions 1.x içindir. Azure Functions 2.x ve sonrası için host.json'un referansı için Azure Functions 2.x için host.json referansı bölümüne bakın.
Diğer fonksiyon uygulaması yapılandırma seçenekleri app settings bölümünüzde yönetilir.
Bazı host.json ayarları, yalnızca local.settings.json dosyasında yerel olarak çalıştırıldığında kullanılır.
Örnek host.json dosyası
Aşağıdaki örnek host.json dosyaları tüm olası seçenekler belirtilmiş.
{
"aggregator": {
"batchSize": 1000,
"flushTimeout": "00:00:30"
},
"applicationInsights": {
"sampling": {
"isEnabled": true,
"maxTelemetryItemsPerSecond" : 5
}
},
"documentDB": {
"connectionMode": "Gateway",
"protocol": "Https",
"leaseOptions": {
"leasePrefix": "prefix"
}
},
"eventHub": {
"maxBatchSize": 64,
"prefetchCount": 256,
"batchCheckpointFrequency": 1
},
"functions": [ "QueueProcessor", "GitHubWebHook" ],
"functionTimeout": "00:05:00",
"healthMonitor": {
"enabled": true,
"healthCheckInterval": "00:00:10",
"healthCheckWindow": "00:02:00",
"healthCheckThreshold": 6,
"counterThreshold": 0.80
},
"http": {
"routePrefix": "api",
"maxOutstandingRequests": 20,
"maxConcurrentRequests": 10,
"dynamicThrottlesEnabled": false
},
"id": "9f4ea53c5136457d883d685e57164f08",
"logger": {
"categoryFilter": {
"defaultLevel": "Information",
"categoryLevels": {
"Host": "Error",
"Function": "Error",
"Host.Aggregator": "Information"
}
}
},
"queues": {
"maxPollingInterval": 2000,
"visibilityTimeout" : "00:00:30",
"batchSize": 16,
"maxDequeueCount": 5,
"newBatchThreshold": 8
},
"sendGrid": {
"from": "Contoso Group <admin@contoso.com>"
},
"serviceBus": {
"maxConcurrentCalls": 16,
"prefetchCount": 100,
"autoRenewTimeout": "00:05:00",
"autoComplete": true
},
"singleton": {
"lockPeriod": "00:00:15",
"listenerLockPeriod": "00:01:00",
"listenerLockRecoveryPollingInterval": "00:01:00",
"lockAcquisitionTimeout": "00:01:00",
"lockAcquisitionPollingInterval": "00:00:03"
},
"tracing": {
"consoleLevel": "verbose",
"fileLoggingMode": "debugOnly"
},
"watchDirectories": [ "Shared" ],
}
Bu makalenin aşağıdaki bölümleri her bir üst düzey özelliği açıklar. Aksi belirtilmedikçe hepsi isteğe bağlıdır.
toplayıcı
Uygulama İçgörülerini Hesaplarken kaç tane işlev çağrısının toplandığını belirtir.
{
"aggregator": {
"batchSize": 1000,
"flushTimeout": "00:00:30"
}
}
| Mülkiyet | Varsayılan | Açıklama |
|---|---|---|
| yığın boyutu | 1000 | Toplanacak isteklerin maksimum sayısı. |
| flushTimeout | 00:00:30 | Azami toplama süresi. |
Fonksiyon çağrıları, iki sınırdan birine ilk ulaşıldığında birleştirilir.
Uygulama İçgörüleri
Uygulama İçgörüleri'ndeki örnekleme özelliğini kontrol eder.
{
"applicationInsights": {
"sampling": {
"isEnabled": true,
"maxTelemetryItemsPerSecond" : 5
}
}
}
| Mülkiyet | Varsayılan | Açıklama |
|---|---|---|
| etkinleştirildi | doğru | Örneklemeyi etkinleştirir veya devre dışı bırakır. |
| maxTelemetryItemsPerSecond | 5 | Örnekleme işleminin başladığı eşik. |
DocumentDB
Azure Cosmos DB tetikleyicisi ve bağlamaları için yapılandırma ayarları.
{
"documentDB": {
"connectionMode": "Gateway",
"protocol": "Https",
"leaseOptions": {
"leasePrefix": "prefix1"
}
}
}
| Mülkiyet | Varsayılan | Açıklama |
|---|---|---|
| Ağ Geçidi Modu | Geçit | Fonksiyonun Azure Cosmos DB servisine bağlanırken kullandığı bağlantı modu. Seçenekler Direct ve Gateway |
| Protokol | Https | Fonksiyonun Azure Cosmos DB servisi ile bağlantı kurarken kullandığı bağlantı protokolü. Her iki modun da açıklaması için burayı okuyun |
| leasePrefix | Yok | Bir uygulama içinde tüm fonksiyonlarda kullanılacak kira öneki. |
kalıcıGörev
Yapılandırma ayarları Durable Functions için.
Uyarı
Tüm ana Durable Functions sürümleri, Azure Functions çalışma zamanının tüm sürümlerinde desteklenmektedir. Ancak host.json yapılandırmasının şeması, Azure İşlevleri çalışma zamanının sürümüne ve kullandığınız Dayanıklı İşlevler uzantısının sürümüne bağlı olarak biraz farklılık gösterir.
Aşağıdaki kod, durableTask'daki iki ayar örneği sağlar: biri Dayanıklı İşlevler 2.x ve biri Dayanıklı İşlevler 1.x için. Her iki örneği de Azure İşlevleri 2.0 ve 3.0 ile kullanabilirsiniz. Azure İşlevleri 1.0 ile kullanılabilir ayarlar aynıdır, ancak durableTaskhost.json bölümü, extensions altında bir alan olmak yerine host.json yapılandırmasının kökünde yer alır.
{
"extensions": {
"durableTask": {
"hubName": "MyTaskHub",
"defaultVersion": "1.0",
"versionMatchStrategy": "CurrentOrOlder",
"versionFailureStrategy": "Reject",
"storageProvider": {
"connectionStringName": "AzureWebJobsStorage",
"controlQueueBatchSize": 32,
"controlQueueBufferThreshold": 256,
"controlQueueVisibilityTimeout": "00:05:00",
"FetchLargeMessagesAutomatically": true,
"maxQueuePollingInterval": "00:00:30",
"partitionCount": 4,
"trackingStoreConnectionStringName": "TrackingStorage",
"trackingStoreNamePrefix": "DurableTask",
"useLegacyPartitionManagement": false,
"useTablePartitionManagement": true,
"workItemQueueVisibilityTimeout": "00:05:00",
"QueueClientMessageEncoding": "UTF8"
},
"tracing": {
"traceInputsAndOutputs": false,
"traceReplayEvents": false,
},
"notifications": {
"eventGrid": {
"topicEndpoint": "https://topic_name.westus2-1.eventgrid.azure.net/api/events",
"keySettingName": "EventGridKey",
"publishRetryCount": 3,
"publishRetryInterval": "00:00:30",
"publishEventTypes": [
"Started",
"Completed",
"Failed",
"Terminated"
]
}
},
"maxConcurrentActivityFunctions": 10,
"maxConcurrentOrchestratorFunctions": 10,
"maxConcurrentEntityFunctions": 10,
"extendedSessionsEnabled": false,
"extendedSessionIdleTimeoutInSeconds": 30,
"useAppLease": true,
"useGracefulShutdown": false,
"maxEntityOperationBatchSize": 50,
"maxOrchestrationActions": 100000,
"storeInputsInOrchestrationHistory": false
}
}
}
| Mülkiyet | Varsayılan değer | Açıklama |
|---|---|---|
| merkezAdı | TestHubName (v1.x'te DurableFunctionsHub) | İşlev uygulamasının geçerli durumunu depolayan hub'ın adı. Görev merkezi adları bir harfle başlamalı ve yalnızca harfler ve rakamlardan oluşmalıdır. Bir ad belirtmezseniz, varsayılan değer kullanılır. Alternatif görev hub'ı adları, aynı depolama arka ucunu kullansalar bile birden çok Dayanıklı İşlev uygulamasını birbirinden yalıtmak için kullanılabilir. Daha fazla bilgi için Görev merkezlerine bakın. |
| defaultVersion | Yeni düzenleme örneklerine atanacak varsayılan sürüm. Bir sürüm belirttiğinizde, yeni düzenleme örnekleri bu sürüm değeriyle kalıcı olarak ilişkilendirilir. Bu ayar, kesintisiz dağıtımlar gibi senaryoları etkinleştirmek için orkestrasyon sürümlendirme özelliği tarafından, işlevselliği etkileyebilecek değişikliklerle kullanılır. Sürüm için herhangi bir dize değeri kullanabilirsiniz. | |
| sürümEşlemeStratejisi | GüncelveyaEski | Orchestrator işlevleri yüklendiğinde düzenleme sürümlerinin nasıl eşleştirildiğini belirten bir değer. Geçerli değerler None, Strictve CurrentOrOlder. Ayrıntılı açıklamalar için Orchestration sürümleme bölümüne bakın. |
| sürümHataStratejisi | Reddet | Düzenleme sürümü geçerli defaultVersion değerle örtüşmediğinde ne olacağını belirten bir değer. Geçerli değerler: Reject ve Fail. Ayrıntılı açıklamalar için Orchestration sürümleme bölümüne bakın. |
| controlQueueBatchSize | 32 | Bir kerede kontrol kuyruğundan çekilecek mesaj sayısı. |
| controlQueueBufferThreshold |
Python için tüketim planı: 32 Diğer diller için tüketim planı: 128 Özel veya Premium plan: 256 |
Bir kerede bellekte arabelleğe alınabilen denetim kuyruğu iletilerinin sayısı. Belirtilen numaraya ulaşıldığında, dağıtıcı diğer iletileri sıra kaldırmadan durdurur. Bazı durumlarda, bu değerin azaltılması bellek tüketimini önemli ölçüde azaltabilir. |
| bölümSayısı | 4 | Denetim kuyruğunun bölüm sayısı. Bu değer 1 ile 16 arasında pozitif bir tamsayı olmalıdır. Bu değerin değiştirilmesi için yeni bir görev hub'ı yapılandırılması gerekir. |
| KuyrukGörünürlüğüZamanAşımıKontrolü | 00:05:00 | Kuyruktan çıkarılan kontrol kuyruğu iletilerinin hh:mm:ss biçiminde görünürlük zaman aşımı. |
| işKalemiKuyrukGörünürlükZamanAşımı | 00:05:00 | Sıralanmamış iş öğesi kuyruk iletilerinin hh:mm:ss biçiminde görünürlük zaman aşımı. |
| BüyükMesajlarıOtomatikOlarakGetir | doğru | Orkestrasyon durumu sorgularında büyük iletilerin alınıp alınmayacağını belirten bir değer. Bu ayar olduğunda true, kuyruk boyutu sınırını aşan büyük iletiler alınır. Bu ayar olduğunda false, her büyük iletiyi işaret eden bir blob URL'si alınır. |
| Maksimum Eşzamanlı Etkinlik Fonksiyonları |
Tüketim planı: 10 Ayrılmış veya Premium plan: Geçerli makinedeki işlemci sayısının 10 katı |
Tek bir ana bilgisayar örneğinde aynı anda işlenebilecek maksimum etkinlik fonksiyonu sayısı. |
| Maksimum Eşzamanlı Orkestratör Fonksiyonları |
Tüketim planı: 5 Ayrılmış veya Premium plan: Geçerli makinedeki işlemci sayısının 10 katı |
Tek bir sunucu örneğinde eş zamanlı olarak işlenebilecek en fazla orkestratör işlevi sayısı. |
| Maksimum Eşzamanlı Varlık Fonksiyonları |
Tüketim planı: 5 Ayrılmış veya Premium plan: Geçerli makinedeki işlemci sayısının 10 katı |
Tek bir konak örneğinde eşzamanlı olarak işlenebilen en fazla öğe fonksiyonu sayısı. Bu ayar yalnızca dayanıklı görev zamanlayıcısını kullandığınızda geçerlidir. Aksi takdirde, eşzamanlı varlık yürütme sayısı maxConcurrentOrchestratorFunctions değeriyle sınırlıdır. |
| maksKuyrukAnketAralığı | 00:00:30 | hh:mm:ss biçiminde maksimum kontrol ve iş öğesi kuyruğu yoklama aralığı. Daha yüksek değerler, daha yüksek mesaj işleme gecikmelerine neden olabilir. Düşük değerler, artan depolama işlemleri nedeniyle daha yüksek depolama maliyetlerine yol açabilir. |
| maxOrchestrationActions | 100,000 | Bir düzenleyici işlevinin tek bir yürütme döngüsü sırasında gerçekleştirebileceği en fazla eylem sayısı. |
| connectionName (v2.7.0 ve üzeri) connectionStringName (v2.x) azureStorageConnectionStringName (v1.x) |
AzureWebJobsStorage | Bir uygulama ayarının ya da ayar koleksiyonunun, temel Azure Depolama kaynaklarına nasıl bağlanılacağını belirten adı. Tek bir uygulama ayarı sağladığınızda, bu bir Azure Depolama bağlantı dizesi olmalıdır. |
| trackingStoreConnectionName (v2.7.0 ve üzeri) trackingStoreBağlantıDizesiAdı |
Yürütme geçmişini ve düzenleme örnekleriyle ilgili meta verileri depolayan Geçmiş ve Örnekler tablolarına nasıl bağlanıldığını belirten bir uygulama ayarının veya ayar koleksiyonunun adı. Tek bir uygulama ayarı sağladığınızda, bu bir Azure Depolama bağlantı dizesi olmalıdır. Bir ayar belirtmezseniz, connectionStringName değer (v2.x) veya azureStorageConnectionStringName değer (v1.x) bağlantısı kullanılır. |
|
| trackingStoreNamePrefix | Geçmiş ve Örnekler tabloları için trackingStoreConnectionStringName belirtildiğinde kullanılacak ön ek. Ön ek belirtmezseniz varsayılan değeri DurableTask kullanılır. Belirtilmezse trackingStoreConnectionStringName, Geçmiş ve Örnekler tabloları ön ek olarak hubName değerini kullanır ve trackingStoreNamePrefix ayarı görmezden gelinir. |
|
| GirdiVeÇıkışlarıİzle | yanlış | İşlev çağrılarının girişlerinin ve çıkışlarının izlenip izlenmeyeceğini gösteren bir değer. İşlev yürütme olayları izlendiğinde, varsayılan davranış işlev çağrıları için serileştirilmiş girişlere ve çıkışlara bayt sayısını eklemektir. Bu davranış, günlüklerin şişmesini önlemek ve hassas bilgileri istemeden ifşa etmemek için girişler ve çıkışlar hakkında minimum düzeyde bilgi sağlar. Bu özellik olduğunda true, işlev girişlerinin ve çıkışlarının tüm içeriği günlüğe kaydedilir. |
| traceReplayEvents | yanlış | Uygulama Bilgileri'ne orkestrasyon yeniden yürütme olaylarının yazılıp yazılmayacağını gösteren bir değer. |
| kayıtYenidenOynatmaOlayları | yanlış | Yeniden oynatılan yürütmelerin uygulama günlüklerinde kaydedilip kaydedilmeyeceğini gösteren değer. |
| etkinlikIzgaraKonusuUçNoktası | Azure Event Grid özel konu uç noktasının URL'si. Bu özelliği ayarladığınızda, düzenleme yaşam döngüsü bildirim olayları bu uç noktada yayımlanır. Bu özellik, uygulama ayarları çözümlemesini destekler. | |
| eventIzgaraAnahtarAyarAdı | URL'deki Event Grid özel konusuyla kimlik doğrulaması için kullanılan anahtarı içeren uygulama ayarının EventGridTopicEndpoint adı. |
|
| eventGridPublishRetryCount (Olay Grid Yayın Yeniden Deneme Sayısı) | 0 | Event Grid konusuna yayımlama başarısız olursa yeniden deneme sayısı. |
| EtkinlikIzlemeYayınlamaYenidenDeneAralığı | 00:05:00 | Event Grid yayımlama-yeniden deneme aralığı hh:mm:ss biçimindedir. |
| eventGridYayımlaEtkinlikTürleri | Yayınlamak için Event Grid'e gönderilecek etkinlik türlerinin bir listesi. Herhangi bir tür belirtmezseniz, tüm olay türleri yayımlanır. İzin verilen değerler , Started, Completedve Faileddeğerlerini içerirTerminated. |
|
| UzatılmışOturumlarEtkin | yanlış | Oturum düzenleyici ve varlık işlevi oturumlarının önbelleğe alınıp alınmayacağını belirten bir değer. |
| oturumUzamışBoştaZamanAşımıSaniyeCinsinden | 30 | Boşta kalan düzenleyici veya varlık işlevinin kaldırılmadan önce bellekte kaldığı saniye sayısı. Bu ayar yalnızca extendedSessionsEnabled ayarı true olduğunda kullanılır. |
| useAppLease fonksiyonu | doğru | Uygulamaların görev hub'ı iletilerini işlemeden önce uygulama düzeyinde bir blob kiralaması alması gerekip gerekmediğini gösteren bir değer. Daha fazla bilgi için bkz . Dayanıklı İşlevler'de olağanüstü durum kurtarma ve coğrafi dağıtım. Bu ayar v2.3.0'dan itibaren kullanılabilir. |
| eskiBölümYönetiminiKullan | yanlış | Kullanılacak bölüm yönetimi algoritmasının türünü belirten bir değer. Bu ayar olduğunda false, ölçeği genişletirken yinelenen işlev yürütme olasılığını azaltan bir algoritma kullanılır. Bu ayar v2.3.0'dan itibaren kullanılabilir.
Bu değerin olarak true ayarlanması önerilmez. |
| Tablo Bölüm Yönetimini Kullan | v3.x'te: true v2.x'te: false |
Kullanılacak bölüm yönetimi algoritmasının türünü belirten bir değer. Bu ayar olduğunda true, Azure Depolama v2 hesaplarının maliyetlerini azaltmak için tasarlanmış bir algoritma kullanılır. Bu ayar WebJobs.Extensions.DurableTask v2.10.0'dan başlayarak kullanılabilir. Bu ayarı yönetilen kimlikle kullanmak için WebJobs.Extensions.DurableTask v3.x veya üzeri ya da Worker.Extensions.DurableTask v1.2.x veya üzeri gerekir. |
| useGracefulShutdown (nazik bir kapatma işlemini kullan) | yanlış | (Önizleme) İşlem içi işlev yürütmelerinin başarısız olmasına neden olabilecek konak kapatma olasılığını azaltmak için sistemin nazik bir şekilde kapatılıp kapatılmayacağını belirten bir değer. |
| maksVarlıkİşlemTopluİşlemBoyutu |
Tüketim planı: 50 Adanmış veya Premium plan: 5.000 |
İşlemden geçirilen varlık operasyonlarının toplu iş olarak maksimum sayısı. Bu değer 1 ise, toplu işlem devre dışı bırakılır ve ayrı bir işlev çağrısı her işlem iletisini işler. Bu ayar v2.6.1'den itibaren kullanılabilir. |
| Orkestrasyon Geçmişine Girdileri Kaydet | yanlış | Girişlerin nasıl depolandığını belirten bir değer. Bu ayar olduğunda true, Dayanıklı Görev Çerçevesi Geçmiş tablosuna etkinlik girişlerini kaydeder ve etkinlik işlevi girişleri düzenleme geçmişi sorgu sonuçlarında görünür. |
| maxGrpcMesajBoyutuBaytCinsinden | 4,194,304 | Genel Uzak Yordam Çağrısı (gRPC) istemcisinin alabileceği iletilerin bayt cinsinden en büyük boyutunu ayarlayan bir tamsayı değeri. uygulaması DurableTaskClient , düzenleme örneklerini yönetmek için gRPC istemcisini kullanır. Bu ayar Dayanıklı İşlevler .NET yalıtılmış çalışanı ve Java uygulamaları için geçerlidir. |
| grpcHttpClientZamanAşımı | 00:01:40 | Dayanıklı İşlevler'deki gRPC istemcisinin kullandığı HTTP istemcisi için hh:mm:ss formatında zaman aşımı süresi. İstemci şu anda .NET yalıtılmış çalışan uygulamaları (.NET 6 ve üzeri sürümler) ve Java uygulamaları için desteklenmektedir. |
| QueueClientMessageEncoding | UTF8 | Azure Kuyruk Depolama iletileri için kodlama stratejisi. Geçerli stratejiler Unicode Dönüştürme Biçimi–8 bit (UTF8) ve Base64'tür. Bu ayar, Microsoft.Azure.WebJobs.Extensions.DurableTask 3.4.0 veya üzerini ya da Microsoft.Azure.Functions.Worker.Extensions.DurableTask 1.7.0 veya üstünü kullandığınızda geçerlidir. |
Bu ayarların çoğu performansı optimize etmek içindir. Daha fazla bilgi için Performans ve ölçek bölümüne bakın.
olay Hub'ı
Olay Merkezi tetikleyicileri ve bağlamaları için yapılandırma ayarları.
fonksiyonlar
İş ev sahibinin çalıştırdığı fonksiyonların listesi. Boş bir dizi, tüm fonksiyonları çalıştırmak anlamına gelir. Yerel olarak çalıştırıldığında kullanılmak üzere tasarlanmıştır. Azure'daki işlev uygulamalarında, bu ayarı kullanmak yerine belirli işlevleri devre dışı bırakmak için Azure İşlevleri'nde işlevleri devre dışı bırakma bölümünde yer alan adımları izlemeniz gerekir.
{
"functions": [ "QueueProcessor", "GitHubWebHook" ]
}
functionTimeout
Tüm işlevler için zaman aşımı süresini belirtir. Sunucusuz Tüketim planında, geçerli aralık 1 saniyeden 10 dakikaya kadar olup, varsayılan değer 5 dakikadır. App Service planında, genel bir sınır yoktur ve varsayılan değer null olarak belirtilir, bu da zaman aşımı olmadığını gösterir.
{
"functionTimeout": "00:05:00"
}
sağlık monitörü
Ana bilgisayar sağlık izleyicisi için yapılandırma ayarları.
{
"healthMonitor": {
"enabled": true,
"healthCheckInterval": "00:00:10",
"healthCheckWindow": "00:02:00",
"healthCheckThreshold": 6,
"counterThreshold": 0.80
}
}
| Mülkiyet | Varsayılan | Açıklama |
|---|---|---|
| etkinleştirildi | doğru | Özelliğin etkin olup olmadığını belirtir. |
| sağlıkKontrolAralığı | 10 saniye | Periyodik arka plan sağlık kontrolleri arasındaki zaman aralığı. |
| sağlık kontrol penceresi | 2 dakika | Kaydırmalı zaman penceresi, healthCheckThreshold ayarı ile birlikte kullanılır. |
| sağlık kontrol eşiği | 6 | Bir sunucu yenilemesi başlatılmadan önce sağlık kontrolü en fazla kaç kez başarısız olabilir. |
| counterThreshold | 0.80 | Performans sayacının iyi durumda olmayan olarak kabul edileceği eşik. |
http
HTTP tetikleyicileri ve bağlamalar için yapılandırma ayarları.
{
"http": {
"routePrefix": "api",
"maxOutstandingRequests": 200,
"maxConcurrentRequests": 100,
"dynamicThrottlesEnabled": true
}
}
| Mülkiyet | Varsayılan | Açıklama |
|---|---|---|
| DinamikThrottlesEtkin | yanlış | Etkinleştirildiğinde, bu ayar, istek işleme hattının, bağlantılar/iş parçacıkları/süreçler/bellek/cpu gibi sistem performansı sayaçlarını periyodik olarak kontrol etmesine neden olur ve bu sayaçlardan herhangi biri yerleşik bir yüksek eşik değerini (yüzde 80) aşarsa, sayaç(lar) normal seviyelere dönene kadar istekler 429 "Çok Meşgul" yanıtı ile reddedilir. |
| En Fazla Eşzamanlı İstekler | sınırsız (-1) |
Paralel olarak çalıştırılacak maksimum HTTP fonksiyonu sayısı. Bu, eşzamanlılığı kontrol etmenizi sağlar, bu da kaynak kullanımını yönetmeye yardımcı olabilir. Örneğin, eşzamanlılık çok yüksek olduğunda sorunlara neden olacak şekilde çok fazla sistem kaynağı (bellek/cpu/yuva) kullanan bir HTTP işlevine sahip olabilirsiniz. Ya da üçüncü taraf bir hizmete giden istekler yapan bir fonksiyonunuz olabilir ve bu çağrıların oranlarının sınırlandırılması gerekebilir. Bu durumlarda, burada gaz vermek yardımcı olabilir. |
| maxOutstandingRequests | sınırsız (-1) |
Herhangi bir zamanda tutulan bekleyen istek sayısı üst sınırı. Bu limit, sıraya alınmış ancak çalışmaya başlamamış istekleri ve şu anda yürütülmekte olan işlemleri içerir. Bu sınırın üzerindeki tüm gelen talepler 429 "Çok Meşgul" yanıtı ile reddedilir. Bu, çağıranların zamana dayalı yeniden deneme stratejilerini kullanmasına olanak tanır ve ayrıca maksimum istek gecikme sürelerini denetlemenize yardımcı olur. Bu, yalnızca betik ana bilgisayar yürütme yolu içinde gerçekleşen sıralamayı kontrol eder. ASP.NET istek kuyruğu gibi diğer kuyruklar bu ayardan etkilenmeyecek ve yürürlükte kalmaya devam edecektir. |
| rotaÖneki | API | Tüm rotalara uygulanan rota öneki. Varsayılan ön eki kaldırmak için boş bir dize kullanın. |
kimlik
İş sunucusu için benzersiz kimlik. Küçük harfli ve tireleri kaldırılmış bir GUID olabilir. Yerel olarak çalıştırıldığında gereklidir. Azure'da çalıştırırken, bir kimlik değeri belirlememenizi öneriyoruz. Azure'da id atlandığında bir kimlik otomatik olarak oluşturulur.
Birden fazla işlev uygulaması arasında bir Depolama hesabını paylaşırsanız, her işlev uygulamasının farklı bir id olduğundan emin olun.
id özelliğini atlayabilir veya her bir işlev uygulamasının id değerini manuel olarak farklı bir değere ayarlayabilirsiniz. Zamanlayıcı tetikleyici, bir işlev uygulaması birden fazla örneğe ölçeklendiğinde yalnızca bir zamanlayıcı örneği olmasını sağlamak için bir depolama kilidi kullanır. İki işlev uygulaması aynı id paylaşır ve her biri bir zamanlayıcı tetikleyici kullanırsa, yalnızca bir zamanlayıcı çalışır.
{
"id": "9f4ea53c5136457d883d685e57164f08"
}
Oduncu
ILogger nesnesi veya context.log tarafından yazılan günlükler için filtrelemeyi denetler.
{
"logger": {
"categoryFilter": {
"defaultLevel": "Information",
"categoryLevels": {
"Host": "Error",
"Function": "Error",
"Host.Aggregator": "Information"
}
}
}
}
| Mülkiyet | Varsayılan | Açıklama |
|---|---|---|
| kategori filtresi | Yok | Kategoriye göre filtrelemeyi belirtir |
| varsayılanSeviye | Bilgi |
categoryLevels dizisinde belirtilmeyen herhangi bir kategori için, günlükleri bu seviyede ve üzerinde Application Insights'a gönderin. |
| kategori seviyeleri | Yok | Her kategori için Application Insights'e gönderilecek minimum günlük seviyesini belirten kategoriler dizisi. Burada belirtilen kategori, aynı değerle başlayan tüm kategorileri kontrol eder ve daha uzun değerler öncelikli olur. Önceki örnek host.json dosyasında, "Host.Aggregator" ile başlayan tüm kategoriler Information seviyesinde kaydedilir. "Host.Executor" gibi "Host" ile başlayan diğer tüm kategoriler, Error seviyesinde günlük kaydı yapar. |
kuyruklar
Depolama kuyruğu tetikleyicileri ve bağlayıcılar için yapılandırma ayarları.
{
"queues": {
"maxPollingInterval": 2000,
"visibilityTimeout" : "00:00:30",
"batchSize": 16,
"maxDequeueCount": 5,
"newBatchThreshold": 8
}
}
| Mülkiyet | Varsayılan | Açıklama |
|---|---|---|
| maksimum anket aralığı | 60000 | Kuyruk anketleri arasındaki maksimum aralık milisaniye cinsindendir. |
| görünürlükZamanAşımı | 0 | Bir mesajın işlenmesi başarısız olduğunda tekrar deneme arasındaki zaman aralığı. |
| yığın boyutu | 16 | Functions çalışma zamanı tarafından eşzamanlı olarak alınan ve paralel olarak işlenen kuyruk mesajlarının sayısı. İşlenen sayının newBatchThreshold öğesine ulaştığında, çalışma zamanı başka bir toplu iş alır ve bu iletileri işlemeye başlar. İşlev başına işlenen eşzamanlı mesajların maksimum sayısı batchSize artı newBatchThreshold şeklindedir. Bu sınır, kuyrukla tetiklenen her işlev için ayrı ayrı uygulanır. Bir kuyruğa alınan mesajlar için paralel yürütmeyi önlemek istiyorsanız, batchSize değerini 1 olarak ayarlayabilirsiniz. Ancak bu ayar, işlev uygulamanız tek bir sanal makinede (VM) çalıştığı sürece eşzamanlılığı ortadan kaldırır. İşlev uygulamasının ölçeği birden çok VM'ye genişletilirse, her VM kuyrukla tetiklenen her işlevin bir örneğini çalıştırabilir.batchSize Maksimum değer 32'dir. |
| maxDequeueCount (azami sıra çıkarma sayısı) | 5 | Bir mesajı işleme sırasında hata kuyruğuna taşımadan önce denenecek sayıda kez. |
| newBatchThreshold | Yığın Boyutu/2 | Aynı anda işlenen mesajların sayısı bu sayıya düştüğünde, çalışma zamanı başka bir grup işlem alır. |
SendGrid
SendGrind output binding için yapılandırma ayarı
{
"sendGrid": {
"from": "Contoso Group <admin@contoso.com>"
}
}
| Mülkiyet | Varsayılan | Açıklama |
|---|---|---|
| itibaren | Yok | Tüm işlevlerde gönderenin e-posta adresi. |
serviceBus
Service Bus tetikleyicileri ve bağlamaları için yapılandırma ayarları.
{
"serviceBus": {
"maxConcurrentCalls": 16,
"prefetchCount": 100,
"autoRenewTimeout": "00:05:00",
"autoComplete": true
}
}
| Mülkiyet | Varsayılan | Açıklama |
|---|---|---|
| Maksimum Eşzamanlı Çağrılar | 16 | Mesaj pompasının başlatması gereken geri çağrıya yönelik eş zamanlı aramaların maksimum sayısı. varsayılan olarak İşlevler çalışma zamanı birden çok iletiyi eşzamanlı olarak işler. Çalışma zamanını aynı anda yalnızca bir sıra veya konu mesajını işlemeye yönlendirmek için, maxConcurrentCalls öğesini 1 olarak ayarlayın. |
| önyüklemeSayısı | Yok | Temel alınan ServiceBusReceiver tarafından kullanılacak varsayılan PrefetchCount. |
| autoRenewTimeout | 00:05:00 | Mesaj kilidinin otomatik olarak yenileneceği maksimum süre. |
| otomatik tamamlama | doğru | True olduğunda, tetikleyici işlemin başarıyla yürütülmesinde ileti işlemeyi otomatik olarak tamamlar. Yanlış olduğunda, döndürmeden önce işlevin mesajı tamamlaması gerekir. |
Singleton
Singleton kilit davranışı için yapılandırma ayarları. Daha fazla bilgi için, singleton desteği hakkında GitHub sorununa bakın.
{
"singleton": {
"lockPeriod": "00:00:15",
"listenerLockPeriod": "00:01:00",
"listenerLockRecoveryPollingInterval": "00:01:00",
"lockAcquisitionTimeout": "00:01:00",
"lockAcquisitionPollingInterval": "00:00:03"
}
}
| Mülkiyet | Varsayılan | Açıklama |
|---|---|---|
| kilitleme süresi | 00:00:15 | İşlev düzeyi kilitlerin alındığı dönem. Kilitler otomatik olarak yenilenir. |
| dinleyiciLockPeriod | 00:01:00 | Dinleyici kilitlerinin alınma süresi. |
| dinleyiciKilitKurtarmaAnketAralığı | 00:01:00 | Başlangıçta dinleyici kilidi edinilemediyse dinleyici kilit kurtarma için kullanılan zaman aralığı. |
| lockAcquisitionTimeout | 00:01:00 | Çalışma zamanı kilit elde etmek için denediği maksimum süre. |
| lockAcquisitionPollingInterval | Yok | Kilit edinim denemeleri arasındaki süre aralığı. |
izleme
Sürüm 1.x
Bir TraceWriter nesnesi kullanarak oluşturduğunuz günlüklerin yapılandırma ayarları. Daha fazla bilgi için [C# Logging]'e bakın.
{
"tracing": {
"consoleLevel": "verbose",
"fileLoggingMode": "debugOnly"
}
}
| Mülkiyet | Varsayılan | Açıklama |
|---|---|---|
| consoleLevel | Bilgi | Konsol günlüğü için izleme seviyesi. Seçenekler: off, error, warning, info, ve verbose. |
| dosya günlüğü modu | sadece hata ayıklama | Dosya günlüğü için izleme düzeyi. Seçenekler never, always, debugOnly. |
watchDirectories
Değişiklikler için izlenmesi gereken paylaşılan kod dizinleri kümesi. Kodun bu dizinlerde değiştirilmesi durumunda, değişikliklerin işlevleriniz tarafından algılanmasını sağlar.
{
"watchDirectories": [ "Shared" ]
}