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, kullandığınız Azure Functions çalışma zamanı ve Durable Functions uzantı sürümüne bağlı olarak, host.json yapılandırmasının şeması biraz farklıdır. Aşağıdaki örnekler, Azure Functions 2.0 ve 3.0 ile kullanıma yöneliktir. Her iki örnekte de Azure İşlevleri 1.0 kullanıyorsanız, kullanılabilir ayarlar aynıdır, ancak host.json "durableTask" bölümü "uzantılar" altındaki bir alan yerine host.json yapılandırmasının köküne girmelidir.
{
"extensions": {
"durableTask": {
"hubName": "MyTaskHub",
"storageProvider": {
"connectionStringName": "AzureWebJobsStorage",
"controlQueueBatchSize": 32,
"controlQueueBufferThreshold": 256,
"controlQueueVisibilityTimeout": "00:05:00",
"maxQueuePollingInterval": "00:00:30",
"partitionCount": 4,
"trackingStoreConnectionStringName": "TrackingStorage",
"trackingStoreNamePrefix": "DurableTask",
"useLegacyPartitionManagement": false,
"useTablePartitionManagement": true,
"workItemQueueVisibilityTimeout": "00:05:00",
},
"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
}
}
}
Görev merkezi adları bir harfle başlamalı ve yalnızca harfler ve rakamlardan oluşmalıdır. Belirtilmediği takdirde, bir işlev uygulaması için varsayılan görev merkezi adı TestHubName'dir. Daha fazla bilgi için Görev merkezlerine bakın.
Mülkiyet | Varsayılan | Açıklama |
---|---|---|
merkezAdı | TestHubName (Durable Functions 1.x kullanılıyorsa DurableFunctionsHub) | Alternatif görev hub'ı adları, aynı depolama arka ucu kullansalar bile birden çok Dayanıklı İşlev uygulamasını birbirinden yalıtmak için kullanılabilir. |
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 Ayrılmış/Premium plan: 256 |
Bir seferde bellekte tamponlanabilecek kontrol kuyruğu mesajlarının sayısı, bu noktada dağıtıcı, ek mesajları kuyruktan çıkarmadan önce bekler. 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ı. 1 ile 16 arasında pozitif bir tamsayı olabilir. 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ü | 5 dakika | Çıkarılan kontrol kuyruğu mesajlarının görünürlük zaman aşımı. |
işKalemiKuyrukGörünürlükZamanAşımı | 5 dakika | Çıkartılan iş öğesi kuyruk mesajlarının görünürlük zaman aşımı. |
Maksimum Eşzamanlı Etkinlik Fonksiyonları |
Tüketim planı: 10 Dedicated/Premium plan: Mevcut 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 Dedicated/Premium plan: Mevcut 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 Dedicated/Premium plan: Mevcut 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ı kullanılırken geçerlidir. Aksi takdirde, eşzamanlı varlık yürütme sayısı üst sınırı ile maxConcurrentOrchestratorFunctions sınırlıdır. |
maksKuyrukAnketAralığı | 30 saniye | hh:mm:ss biçimindeki maksimum denetim 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. |
connectionName (2.7.0 ve üzeri) bağlantıDizesiAdı (2.x) azureStorageConnectionStringName (1.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ğlandığında, bunun bir Azure Depolama bağlantı dizesi olması gerekir. |
trackingStoreConnectionName (2.7.0 ve sonrası) trackingStoreBağlantıDizesiAdı |
Bir uygulama ayarı veya ayar koleksiyonunun, Geçmiş ve Örnekler tablolarına nasıl bağlanılacağını belirten adı. Tek bir uygulama ayarı sağlandığında, bunun bir Azure Depolama bağlantı dizesi olması gerekir. Eğer belirtilmemişse, connectionStringName (Durable 2.x) veya azureStorageConnectionStringName (Durable 1.x) bağlantısı kullanılır. |
|
trackingStoreNamePrefix | Geçmiş ve Örnekler tabloları için trackingStoreConnectionStringName belirtildiğinde kullanılacak ön ek. Ayarlanmazsa, varsayılan ön ek değeri DurableTask olacaktır. Belirtilmezse trackingStoreConnectionStringName , Geçmiş ve Örnekler tabloları hubName değerini ön ek olarak kullanır ve trackingStoreNamePrefix ayarı yoksayılır. |
|
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ını izlerken 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ükleri şişirmeden ve hassas bilgileri yanlışlıkla açığa çıkarmadan, girdilerin ve çıktılarının nasıl göründüğüne dair minimum bilgiyi sağlar. Bu özelliğin true olarak ayarlanması, varsayılan işlev günlüğünün işlev girişlerinin ve çıkışlarının tüm içeriğini günlüğe kaydetmesine neden olur. |
traceReplayEvents | yanlış | Uygulama İçgörüleri'ne orkestrasyon yeniden oynatma olaylarını yazıp yazmama değerini belirten bir değer. |
etkinlikIzgaraKonusuUçNoktası | Azure Event Grid özel konu uç noktasının URL'si. Özellik ayarlandığında, orkestrasyon yaşam döngüsü bildirim olayları bu uç noktaya yayınlanır. Bu özellik, Uygulama Ayarları çözünürlüğünü destekler. | |
eventIzgaraAnahtarAyarAdı | Uygulama ayarları içindeki, EventGridTopicEndpoint adresindeki Azure Event Grid özel konusu ile kimlik doğrulama için kullanılan anahtarın adı. |
|
eventGridPublishRetryCount (Olay Grid Yayın Yeniden Deneme Sayısı) | 0 | Event Grid Topic'e yayınlama başarısız olursa tekrar deneme sayısı. |
EtkinlikIzlemeYayınlamaYenidenDeneAralığı | 5 dakika | Event Grid, tekrar deneme aralığını ss:dd:ss biçiminde yayınlar. |
eventGridYayımlaEtkinlikTürleri | Yayınlamak için Event Grid'e gönderilecek etkinlik türlerinin bir listesi. Belirtilmezse, tüm olay türleri yayımlanır. İzin verilen değerler şunları içerir: Started , Completed , Failed , Terminated . |
|
useAppLease fonksiyonu | doğru | Ayar true olduğunda, uygulamalar görev merkezi mesajlarını işlemeye başlamadan önce uygulama düzeyinde bir blob kiralaması almayı gerektirecektir. Daha fazla bilgi için afet kurtarma ve coğrafi dağıtım belgelerine bakın. v2.3.0 sürümünden itibaren kullanılabilir. |
eskiBölümYönetiminiKullan | yanlış | olarak false ayarlandığında, ölçeği genişletirken yinelenen işlev yürütme olasılığını azaltan bir bölüm yönetimi algoritması kullanır. v2.3.0'dan itibaren kullanılabilir.
Bu değerin olarak true ayarlanması önerilmez. |
Tablo Bölüm Yönetimini Kullan |
true v3.x uzantı sürümlerindefalse v2.x eklenti sürümlerinde |
Ayarlanmış true olduğunda, Azure Depolama V2 hesapları için maliyetleri azaltmak üzere tasarlanmış bir bölüm yönetim algoritması kullanır. WebJobs.Extensions.DurableTask v2.10.0'dan itibaren kullanılabilir. Bu ayarın yönetilen kimlikle kullanılması için WebJobs.Extensions.DurableTask v3.x veya üzeri ya da v1.2.x veya sonraki sürümlerden önceki Worker.Extensions.DurableTask sürümleri gerekir. |
useGracefulShutdown (nazik bir kapatma işlemini kullan) | yanlış | (Önizleme) Ana bilgisayar kapanmalarının süreç içi işlev yürütmelerinin başarısız olma olasılığını azaltmak için kademeli kapanmayı etkinleştirin. |
maxEntityOperationBatchSize(2.6.1) |
Tüketim planı: 50 Ayrılmış/Premium plan: 5000 |
İşlemden geçirilen varlık operasyonlarının toplu iş olarak maksimum sayısı. 1'e ayarlandığında, gruplama devre dışı bırakılır ve her işlem mesajı ayrı bir işlev çağrısıyla işlenir. |
Orkestrasyon Geçmişine Girdileri Kaydet | yanlış | olarak true ayarlandığında Dayanıklı Görev Çerçevesi'ne geçmiş tablosundaki etkinlik girişlerini kaydetmesini söyler. Bu, orkestrasyon geçmişi sorgulandığında etkinlik işlevi girdilerinin görüntülenmesini sağlar. |
maxGrpcMesajBoyutuBaytCinsinden | 4194304 | Dayanıklı Görev İstemci'sı (DurableTaskClient) için gRPC istemcisi tarafından alınabilecek mesajların maksimum boyutunu bayt cinsinden belirleyen bir tam sayı değeri. Bu, Durable Functions .NET Isolated ve Java için geçerlidir. |
grpcHttpClientZamanAşımı | 100 saniye | Dayanıklı İşlevler'de gRPC istemcisi tarafından kullanılan HTTP istemcisi için zaman aşımını ayarlar, bu ayar şu anda .NET yalıtılmış uygulamaları (.NET 6 ve sonraki sürümleri) ve Java için desteklenmektedir. |
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.
eventHub
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" ]
}