Azure İşlevleri 2.x ve üzeri için host.json başvurusu
host.json meta veri dosyası, bir işlev uygulaması örneğindeki tüm işlevleri etkileyen yapılandırma seçeneklerini içerir. Bu makalede, Azure İşlevleri çalışma zamanının 2.x sürümünden itibaren kullanılabilen ayarlar listelenir.
Not
Bu makale Azure İşlevleri 2.x ve sonraki sürümlere yöneliktir. İşlevler 1.x'teki host.json başvurusu için bkz. Azure İşlevleri 1.x için host.json başvuru.
Diğer işlev uygulaması yapılandırma seçenekleri, işlev uygulamasının çalıştığı yere bağlı olarak yönetilir:
- Azure'a dağıtıldı: Uygulama ayarlarınızda
- Yerel bilgisayarınızda: local.settings.json dosyasında.
bağlamalarla ilgili host.json yapılandırmaları, işlev uygulamasındaki her işleve eşit olarak uygulanır.
Ayrıca uygulama ayarlarını kullanarak ortam başına ayarları geçersiz kılabilir veya uygulayabilirsiniz.
Örnek host.json dosyası
Sürüm 2.x+ için aşağıdaki örnek host.json dosyasında tüm olası seçenekler belirtilmiştir (yalnızca iç kullanım için olan seçenekler hariç).
{
"version": "2.0",
"aggregator": {
"batchSize": 1000,
"flushTimeout": "00:00:30"
},
"concurrency": {
"dynamicConcurrencyEnabled": true,
"snapshotPersistenceEnabled": true
},
"extensions": {
"blobs": {},
"cosmosDb": {},
"durableTask": {},
"eventHubs": {},
"http": {},
"queues": {},
"sendGrid": {},
"serviceBus": {}
},
"extensionBundle": {
"id": "Microsoft.Azure.Functions.ExtensionBundle",
"version": "[4.0.0, 5.0.0)"
},
"functions": [ "QueueProcessor", "GitHubWebHook" ],
"functionTimeout": "00:05:00",
"healthMonitor": {
"enabled": true,
"healthCheckInterval": "00:00:10",
"healthCheckWindow": "00:02:00",
"healthCheckThreshold": 6,
"counterThreshold": 0.80
},
"logging": {
"fileLoggingMode": "debugOnly",
"logLevel": {
"Function.MyFunction": "Information",
"default": "None"
},
"applicationInsights": {
"samplingSettings": {
"isEnabled": true,
"maxTelemetryItemsPerSecond" : 20,
"evaluationInterval": "01:00:00",
"initialSamplingPercentage": 100.0,
"samplingPercentageIncreaseTimeout" : "00:00:01",
"samplingPercentageDecreaseTimeout" : "00:00:01",
"minSamplingPercentage": 0.1,
"maxSamplingPercentage": 100.0,
"movingAverageRatio": 1.0,
"excludedTypes" : "Dependency;Event",
"includedTypes" : "PageView;Trace"
},
"dependencyTrackingOptions": {
"enableSqlCommandTextInstrumentation": true
},
"enableLiveMetrics": true,
"enableDependencyTracking": true,
"enablePerformanceCountersCollection": true,
"httpAutoCollectionOptions": {
"enableHttpTriggerExtendedInfoCollection": true,
"enableW3CDistributedTracing": true,
"enableResponseHeaderInjection": true
},
"snapshotConfiguration": {
"agentEndpoint": null,
"captureSnapshotMemoryWeight": 0.5,
"failedRequestLimit": 3,
"handleUntrackedExceptions": true,
"isEnabled": true,
"isEnabledInDeveloperMode": false,
"isEnabledWhenProfiling": true,
"isExceptionSnappointsEnabled": false,
"isLowPrioritySnapshotUploader": true,
"maximumCollectionPlanSize": 50,
"maximumSnapshotsRequired": 3,
"problemCounterResetInterval": "24:00:00",
"provideAnonymousTelemetry": true,
"reconnectInterval": "00:15:00",
"shadowCopyFolder": null,
"shareUploaderProcess": true,
"snapshotInLowPriorityThread": true,
"snapshotsPerDayLimit": 30,
"snapshotsPerTenMinutesLimit": 1,
"tempFolder": null,
"thresholdForSnapshotting": 1,
"uploaderProxy": null
}
}
},
"managedDependency": {
"enabled": true
},
"singleton": {
"lockPeriod": "00:00:15",
"listenerLockPeriod": "00:01:00",
"listenerLockRecoveryPollingInterval": "00:01:00",
"lockAcquisitionTimeout": "00:01:00",
"lockAcquisitionPollingInterval": "00:00:03"
},
"telemetryMode": "OpenTelemetry",
"watchDirectories": [ "Shared", "Test" ],
"watchFiles": [ "myFile.txt" ]
}
Bu makalenin aşağıdaki bölümlerinde her üst düzey özellik açıklanmaktadır. Aksi belirtilmediği sürece tümü isteğe bağlıdır.
Toplayıcı
Application Insights ölçümlerini hesaplarken kaç işlev çağrısının toplanmış olduğunu belirtir.
{
"aggregator": {
"batchSize": 1000,
"flushTimeout": "00:00:30"
}
}
Özellik | Varsayılan | Açıklama |
---|---|---|
batchSize | 1000 | Toplanmış en fazla istek sayısı. |
flushTimeout | 00:00:30 | Top alınacak en uzun süre. |
İki sınırdan ilki ulaşıldığında işlev çağrıları toplanır.
applicationInsights
Bu ayar, günlüğe kaydetmenin alt öğesidir.
Örnekleme seçenekleri de dahil olmak üzere Application Insights seçeneklerini denetler.
JSON yapısının tamamı için önceki örnek host.json dosyasına bakın.
Not
Günlük örnekleme, bazı yürütmelerin Application Insights izleyici dikey penceresinde gösterilmemesine neden olabilir. Günlük örneklemesini önlemek için samplingSettings
değerini ekleyinexcludedTypes: "Request"
.
Özellik | Varsayılan | Açıklama |
---|---|---|
samplingSettings | yok | Bkz . applicationInsights.samplingSettings. |
dependencyTrackingOptions | yok | Bkz . applicationInsights.dependencyTrackingOptions. |
enableLiveMetrics | true | Canlı ölçüm toplamayı etkinleştirir. |
enableDependencyTracking | true | Bağımlılık izlemeyi etkinleştirir. |
enablePerformanceCountersCollection | true | Kudu performans sayaçları koleksiyonunu etkinleştirir. |
liveMetricsInitializationDelay | 00:00:15 | Yalnızca şirket içi kullanım içindir. |
httpAutoCollectionOptions | yok | Bkz . applicationInsights.httpAutoCollectionOptions. |
snapshotConfiguration | yok | Bkz . applicationInsights.snapshotConfiguration. |
applicationInsights.samplingSettings
Bu ayarlar hakkında daha fazla bilgi için bkz . Application Insights'ta Örnekleme.
Özellik | Varsayılan | Açıklama |
---|---|---|
isEnabled | true | Örneklemeyi etkinleştirir veya devre dışı bırakır. |
maxTelemetryItemsPerSecond | 20 | Her sunucu konağına saniyede günlüğe kaydedilen telemetri öğelerinin hedef sayısı. Uygulamanız birçok konakta çalışıyorsa, genel hedef trafik oranınızın içinde kalmak için bu değeri azaltın. |
evaluationInterval | 01:00:00 | Geçerli telemetri hızının yeniden değerlendirildiği aralık. Değerlendirme hareketli ortalama olarak gerçekleştirilir. Telemetriniz ani patlamalara karşı sorumluysa bu aralığı kısaltmak isteyebilirsiniz. |
initialSamplingPercentage | 100.0 | Örnekleme işleminin başlangıcında uygulanan ilk örnekleme yüzdesi, yüzdeyi dinamik olarak değiştirmek için kullanılır. Hata ayıklarken değeri azaltmayın. |
samplingPercentageIncreaseTimeout | 00:00:01 | Örnekleme yüzdesi değeri değiştiğinde, bu özellik Application Insights'ın daha fazla veri yakalamak için örnekleme yüzdesini yeniden yükseltmesine ne kadar süre içinde izin verileceğini belirler. |
samplingPercentageDecreaseTimeout | 00:00:01 | Örnekleme yüzdesi değeri değiştiğinde, bu özellik Application Insights'ın daha az veri yakalamak için örnekleme yüzdesini ne kadar süre sonra yeniden düşürmesine izin verileceğini belirler. |
minSamplingPercentage | 0,1 | Örnekleme yüzdesi farklılık gösterdiğinden, bu özellik izin verilen en düşük örnekleme yüzdesini belirler. |
maxSamplingPercentage | 100.0 | Örnekleme yüzdesi farklılık gösterdiğinden, bu özellik izin verilen en yüksek örnekleme yüzdesini belirler. |
movingAverageRatio | 1.0 | Hareketli ortalamanın hesaplanmasında, en son değere atanan ağırlık. 1'e eşit veya 1'den küçük bir değer kullanın. Daha küçük değerler, algoritmanın ani değişikliklere daha az reaktif olmasını sağlar. |
excludedTypes | boş | Örneklenmek istemediğiniz türlerin noktalı virgülle ayrılmış listesi. Tanınan türler şunlardır: Dependency , Event , Exception , PageView , Request ve Trace . Belirtilen türlerin tüm örnekleri iletilir; belirtilmeyen türler örneklenir. |
includedTypes | boş | Örneklemek istediğiniz türlerin noktalı virgülle ayrılmış listesi; boş bir liste tüm türleri gösterir. Burada listelenen geçersiz kılma türlerinde excludedTypes listelenen tür. Tanınan türler şunlardır: Dependency , Event , Exception , PageView , Request ve Trace . Belirtilen türlerin örnekleri örneklenir; belirtilmeyen veya örtük türler örnekleme olmadan iletilir. |
applicationInsights.httpAutoCollectionOptions
Özellik | Varsayılan | Açıklama |
---|---|---|
enableHttpTriggerExtendedInfoCollection | true | HTTP tetikleyicileri için genişletilmiş HTTP isteği bilgilerini etkinleştirir veya devre dışı bırakır: gelen istek bağıntı üst bilgileri, çoklu izleme anahtarları desteği, HTTP yöntemi, yol ve yanıt. |
enableW3CDistributedTracing | true | W3C dağıtılmış izleme protokolü desteğini etkinleştirir veya devre dışı bırakır (ve eski bağıntı şemasını açar). True ise enableHttpTriggerExtendedInfoCollection varsayılan olarak etkindir. enableHttpTriggerExtendedInfoCollection False ise, bu bayrak yalnızca giden istekler için geçerlidir, gelen istekler için geçerli değildir. |
enableResponseHeaderInjection | true | Çok bileşenli bağıntı üst bilgilerinin yanıtlara eklenmesini etkinleştirir veya devre dışı bırakır. Eklemenin etkinleştirilmesi, Application Insights'ın birkaç izleme anahtarı kullanıldığında uygulama eşlemesi oluşturmasına olanak tanır. True ise enableHttpTriggerExtendedInfoCollection varsayılan olarak etkindir. Bu ayar false ise enableHttpTriggerExtendedInfoCollection geçerli değildir. |
applicationInsights.dependencyTrackingOptions
Özellik | Varsayılan | Açıklama |
---|---|---|
enableSqlCommandTextInstrumentation | yanlış | Varsayılan olarak devre dışı bırakılan SQL sorgularının tam metninin toplanmasını sağlar. SQL sorgu metnini toplama hakkında daha fazla bilgi için bkz . Tam SQL sorgusu almak için Gelişmiş SQL izleme. |
applicationInsights.snapshotConfiguration
Anlık görüntüler hakkında daha fazla bilgi için bkz . .NET uygulamalarında özel durumlarda anlık görüntülerde hata ayıklama ve Application Insights Anlık Görüntü Hata Ayıklayıcısı'nı etkinleştirme veya anlık görüntüleri görüntüleme sorunlarını giderme.
Özellik | Varsayılan | Açıklama |
---|---|---|
agentEndpoint | boş | Application Insights Snapshot Debugger hizmetine bağlanmak için kullanılan uç nokta. Null ise, varsayılan uç nokta kullanılır. |
captureSnapshotMemoryWeight | 0,5 | Anlık görüntü almak için yeterli bellek olup olmadığını denetlerken geçerli işlem bellek boyutuna verilen ağırlık. Beklenen değer 0'dan büyük bir doğru kesirdir (0 < CaptureSnapshotMemoryWeight < 1). |
failedRequestLimit | 3 | Telemetri işlemcisi devre dışı bırakılmadan önce anlık görüntü istemek için başarısız istek sayısı sınırı. |
handleUntrackedExceptions | true | Application Insights telemetrisi tarafından izlenilmeyen özel durumların izlenmesini etkinleştirir veya devre dışı bırakır. |
isEnabled | true | Anlık görüntü toplamayı etkinleştirir veya devre dışı bırakır |
isEnabledInDeveloperMode | yanlış | Geliştirici modunda anlık görüntü toplamayı etkinleştirir veya devre dışı bırakır. |
isEnabledWhenProfiling | true | Application Insights Profil Oluşturucu ayrıntılı bir profil oluşturma oturumu topluyor olsa bile anlık görüntü oluşturmayı etkinleştirir veya devre dışı bırakır. |
isExceptionSnappointsEnabled | yanlış | Özel durumların filtrelenmesine olanak tanır veya devre dışı bırakır. |
isLowPrioritySnapshotUploader | true | SnapshotUploader işleminin normal önceliğin altında çalıştırılıp çalıştırılmayacağını belirler. |
maximumCollectionPlanSize | 50 | Bir ile 9999 arasında herhangi bir zamanda izleyebileceğiniz maksimum sorun sayısı. |
maximumSnapshotsRequired | 3 | Bir ile 999 arasında tek bir sorun için toplanan en fazla anlık görüntü sayısı. Bir sorun, uygulamanızda tek bir throw deyimi olarak düşünülebilir. Bir sorun için toplanan anlık görüntü sayısı bu değere ulaştığında, sorun sayaçları sıfırlanıp sınıra yeniden ulaşılana kadar bu sorun için artık anlık görüntü toplanmaz .problemCounterResetInterval thresholdForSnapshotting |
problemCounterResetInterval | 24:00:00 | Bir dakika ile yedi gün arasında bir aralıktaki sorun sayaçlarını sıfırlama sıklıkları. Bu zaman aralığına ulaşıldığında, tüm sorun sayıları sıfırlanır. Anlık görüntü oluşturma eşiğine zaten ulaşmış ancak içinde anlık görüntü maximumSnapshotsRequired sayısını henüz oluşturmamış olan mevcut sorunlar etkin kalır. |
provideAnonymousTelemetry | true | Microsoft'a anonim kullanım ve hata telemetrisi gönderilip gönderilmeyeceğini belirler. Bu telemetri, Anlık Görüntü Hata Ayıklayıcısı ile ilgili sorunları gidermeye yardımcı olması için Microsoft ile iletişim kurarsanız kullanılabilir. Kullanım desenlerini izlemek için de kullanılır. |
reconnectInterval | 00:15:00 | Snapshot Debugger uç noktasına ne sıklıkta yeniden bağlanıyoruz? İzin verilebilen aralık bir dakikadan bir güne kadardır. |
shadowCopyFolder | boş | Gölge kopyalama ikili dosyaları için kullanılacak klasörü belirtir. Ayarlanmazsa, aşağıdaki ortam değişkenleri tarafından belirtilen klasörler sırayla denenebilir: Fabric_Folder_App_Temp, LOCALAPPDATA, APPDATA, TEMP. |
shareUploaderProcess | true | Doğruysa, SnapshotUploader'ın yalnızca bir örneği InstrumentationKey'i paylaşan birden çok uygulama için anlık görüntüleri toplar ve karşıya yükler. false olarak ayarlanırsa SnapshotUploader her (ProcessName, InstrumentationKey) tanımlama grubu için benzersiz olur. |
snapshotInLowPriorityThread | true | Anlık görüntülerin düşük GÇ öncelikli iş parçacığında işlenip işlenmeyeceğini belirler. Anlık görüntü oluşturmak hızlı bir işlemdir, ancak anlık görüntüyü Snapshot Debugger hizmetine yüklemek için önce diske minidump olarak yazılması gerekir. Bu, SnapshotUploader işleminde gerçekleşir. Bu değeri true olarak ayarlamak, minidump yazmak için düşük öncelikli GÇ kullanır ve bu da uygulamanızla kaynaklar için rekabet etmez. Bu değeri false olarak ayarlamak, uygulamanızı yavaşlatma pahasına minidump oluşturmayı hızlandırır. |
snapshotsPerDayLimit | 30 | Bir günde izin verilen en fazla anlık görüntü sayısı (24 saat). Bu sınır, Application Insights hizmeti tarafında da uygulanır. Karşıya yüklemeler uygulama başına günlük 50 ile sınırlıdır (yani izleme anahtarı başına). Bu değer, karşıya yükleme sırasında sonunda reddedilecek ek anlık görüntülerin oluşturulmasını önlemeye yardımcı olur. Sıfır değeri sınırı tamamen kaldırır ve bu önerilmez. |
snapshotsPerTenMinutesLimit | 1 | 10 dakika içinde izin verilen en fazla anlık görüntü sayısı. Bu değer üzerinde üst sınır olmasa da, uygulamanızın performansını etkileyebileceğinden üretim iş yüklerinde artırmaya dikkat edin. Anlık görüntü oluşturmak hızlıdır, ancak anlık görüntünün minidump'unu oluşturup Snapshot Debugger hizmetine yüklemek, uygulamanızla kaynaklar (hem CPU hem de G/Ç) için rekabet edecek çok daha yavaş bir işlemdir. |
tempFolder | boş | Minidumps ve karşıya yükleyen günlük dosyaları yazacak klasörü belirtir. Ayarlanmadıysa % TEMP%\Dumps kullanılır. |
thresholdForSnapshotting | 1 | Application Insights'ın anlık görüntü istemeden önce kaç kez özel durum görmesi gerekir. |
uploaderProxy | boş | Anlık Görüntü Yükleyicisi işleminde kullanılan proxy sunucusunu geçersiz kılar. Uygulamanız bir ara sunucu aracılığıyla İnternet'e bağlanıyorsa bu ayarı kullanmanız gerekebilir. Anlık Görüntü Toplayıcı, uygulamanızın işlemi içinde çalışır ve aynı ara sunucu ayarlarını kullanır. Ancak, Anlık Görüntü Yükleyicisi ayrı bir işlem olarak çalışır ve proxy sunucusunu el ile yapılandırmanız gerekebilir. Bu değer null ise, Anlık Görüntü Toplayıcı değeri inceleyip System.Net.WebRequest.DefaultWebProxy Anlık Görüntü Yükleyicisi'ne geçirerek ara sunucunun adresini otomatik olarak algılamayı dener. Bu değer null değilse, otomatik işlem kullanılmaz ve burada belirtilen proxy sunucusu Anlık Görüntü Yükleyicisi'nde kullanılır. |
bloblar
Yapılandırma ayarları Depolama blobu tetikleyicileri ve bağlamalarında bulunabilir.
console
Bu ayar, günlüğe kaydetmenin alt öğesidir. Hata ayıklama modunda değilken konsol günlüğünü denetler.
{
"logging": {
...
"console": {
"isEnabled": false,
"DisableColors": true
},
...
}
}
Özellik | Varsayılan | Açıklama |
---|---|---|
DisableColors | yanlış | Linux'taki kapsayıcı günlüklerinde günlük biçimlendirmesini gizler. Linux üzerinde çalışırken kapsayıcı günlüklerinde istenmeyen ANSI denetim karakterleri görüyorsanız true olarak ayarlayın. |
isEnabled | yanlış | Konsol günlüğünü etkinleştirir veya devre dışı bırakır. |
Azure Cosmos DB
Yapılandırma ayarları Azure Cosmos DB tetikleyicileri ve bağlamalarında bulunabilir.
customHandler
Özel işleyici için yapılandırma ayarları. Daha fazla bilgi için bkz. özel işleyicileri Azure İşlevleri.
"customHandler": {
"description": {
"defaultExecutablePath": "server",
"workingDirectory": "handler",
"arguments": [ "--port", "%FUNCTIONS_CUSTOMHANDLER_PORT%" ]
},
"enableForwardingHttpRequest": false
}
Özellik | Varsayılan | Açıklama |
---|---|---|
defaultExecutablePath | yok | Özel işleyici işlemi olarak başlatacak yürütülebilir dosya. Özel işleyiciler kullanılırken gerekli bir ayardır ve değeri işlev uygulaması köküne göredir. |
workingDirectory | işlev uygulaması kökü | Özel işleyici işleminin başlatıldığı çalışma dizini. İsteğe bağlı bir ayardır ve değeri işlev uygulaması köküne göredir. |
Bağımsız değişken | yok | Özel işleyici işlemine geçirilebilir bir komut satırı bağımsız değişkenleri dizisi. |
enableForwardingHttpRequest | yanlış | Ayarlanırsa, yalnızca bir HTTP tetikleyicisi ve HTTP çıkışından oluşan tüm işlevler, özel işleyici isteği yükü yerine özgün HTTP isteğine iletilir. |
durableTask
Yapılandırma ayarı, Dayanıklı İşlevler bağlamalarında bulunabilir.
eşzamanlılık
İşlev uygulamanızdaki belirli bağlamalar için dinamik eşzamanlılığı etkinleştirir. Daha fazla bilgi için bkz . Dinamik eşzamanlılık.
{
"concurrency": {
"dynamicConcurrencyEnabled": true,
"snapshotPersistenceEnabled": true
}
}
Özellik | Varsayılan | Açıklama |
---|---|---|
dynamicConcurrencyEnabled | yanlış | Varsayılan olarak kapalı olan bu özellik tarafından desteklenen tüm tetikleyiciler için dinamik eşzamanlılık davranışlarını etkinleştirir. |
snapshotPersistenceEnabled | true | Öğrenilen eşzamanlılık değerleri düzenli aralıklarla depolamada kalıcı hale getirir, böylece yeni örnekler 1'den başlayıp öğrenimi yinelemek yerine bu değerlerden başlar. |
eventHub
Yapılandırma ayarları Olay Hub'ı tetikleyicileri ve bağlamalarında bulunabilir.
uzantılar
http ve eventHub gibi bağlamaya özgü tüm ayarları içeren bir nesne döndüren özellik.
extensionBundle
Uzantı paketleri, işlev uygulamanıza uyumlu bir dizi İşlev bağlama uzantısı eklemenize olanak tanır. Daha fazla bilgi edinmek için bkz . Yerel geliştirme için uzantı paketleri.
{
"version": "2.0",
"extensionBundle": {
"id": "Microsoft.Azure.Functions.ExtensionBundle",
"version": "[4.0.0, 5.0.0)"
}
}
Aşağıdaki özellikler extensionBundle
öğesinde kullanıma sunuldu:
Özellik | Açıklama |
---|---|
id |
Microsoft Azure İşlevleri uzantı paket gruplarına yönelik ad alanı. |
version |
Yüklenecek paketin sürüm aralığı. İşlevler çalışma zamanı her zaman sürüm aralığı tarafından tanımlanan, izin verilen en yüksek sürümü seçer. Örneğin, değer version aralığı [4.0.0, 5.0.0) 4.0.0'dan 5.0.0'a kadar olan tüm paket sürümlerine izin verir ancak 5.0.0'ı içermez. Daha fazla bilgi için bkz. sürüm aralıklarını belirtmeye yönelik aralık gösterimi. |
işlevleri
İş konağı tarafından çalıştırılır işlevlerin listesi. Boş bir dizi, tüm işlevleri çalıştırma anlamına gelir. Yalnızca yerel olarak çalıştırılırken 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 işlevleri devre dışı bırakma bölümünde yer alan adımları izlemeniz gerekir.
{
"functions": [ "QueueProcessor", "GitHubWebHook" ]
}
functionTimeout
Tüm işlev yürütmeleri için zaman aşımı süresini gösterir. Zaman aralığı dize biçimini izler.
Plan türü | Varsayılan (dk) | Maksimum (dk) |
---|---|---|
Tüketim | 5 | 10 |
Premium1 | 30 | -1 (ilişkisiz)2 |
Ayrılmış (App Service) | 30 | -1 (ilişkisiz)2 |
1 Premium plan yürütmesi yalnızca 60 dakika garanti edilir, ancak teknik olarak sınırsızdır.
2 Değeri, ilişkisiz yürütmeyi -1
gösterir, ancak sabit bir üst sınır tutulması önerilir.
{
"functionTimeout": "00:05:00"
}
healthMonitor
Konak sistem durumu izleyicisi için yapılandırma ayarları.
{
"healthMonitor": {
"enabled": true,
"healthCheckInterval": "00:00:10",
"healthCheckWindow": "00:02:00",
"healthCheckThreshold": 6,
"counterThreshold": 0.80
}
}
Özellik | Varsayılan | Açıklama |
---|---|---|
enabled | true | Özelliğin etkinleştirilip etkinleştirilmediğini belirtir. |
healthCheckInterval | 10 saniye | Düzenli arka plan sistem durumu denetimleri arasındaki zaman aralığı. |
healthCheckWindow | 2 dakika | Ayar ile birlikte kullanılan kayan healthCheckThreshold zaman penceresi. |
healthCheckThreshold | 6 | Konak geri dönüşümü başlatılmadan önce sistem durumu denetiminin başarısız olabileceği en fazla sayı. |
counterThreshold | 0.80 | Performans sayacının iyi durumda olmayan olarak kabul edileceği eşik. |
http
Yapılandırma ayarları http tetikleyicileri ve bağlamalarında bulunabilir.
günlüğe kaydetme
Application Insights dahil olmak üzere işlev uygulamasının günlüğe kaydetme davranışlarını denetler.
"logging": {
"fileLoggingMode": "debugOnly",
"logLevel": {
"Function.MyFunction": "Information",
"default": "None"
},
"console": {
...
},
"applicationInsights": {
...
}
}
Özellik | Varsayılan | Açıklama |
---|---|---|
fileLoggingMode | debugOnly | Azure'da çalışırken dosya günlüğü davranışını belirler. Seçenekler : never , always ve debugOnly . Bu ayar yerel olarak çalıştırılırken kullanılmaz. Mümkün olduğunda, Azure'da işlevlerinizde hata ayıklarken Application Insights'ı kullanmanız gerekir. Kullanmak always , uygulamanızın soğuk başlangıç davranışını ve veri aktarım hızını olumsuz etkiler. Varsayılan debugOnly ayar, Azure portalını kullanarak hata ayıklarken günlük dosyaları oluşturur. |
logLevel | yok | Uygulamadaki işlevler için günlük kategorisi filtrelemesini tanımlayan nesne. Bu ayar, belirli işlevler için günlüğe kaydetmeyi filtrelemenizi sağlar. Daha fazla bilgi için bkz . Günlük düzeylerini yapılandırma. |
console | yok | Konsol günlüğü ayarı. |
applicationInsights | yok | applicationInsights ayarı. |
managedDependency
Yönetilen bağımlılık, şu anda yalnızca PowerShell tabanlı işlevlerde desteklenen bir özelliktir. Bağımlılıkların hizmet tarafından otomatik olarak yönetilmesini sağlar. enabled
özelliği olarak ayarlandığındatrue
requirements.psd1
, dosya işlenir. Herhangi bir ikincil sürüm yayımlandığında bağımlılıklar güncelleştirilir. Daha fazla bilgi için PowerShell makalesindeki Yönetilen bağımlılık bölümüne bakın.
{
"managedDependency": {
"enabled": true
}
}
kuyruklar
Yapılandırma ayarları Depolama kuyruğu tetikleyicileri ve bağlamalarında bulunabilir.
sendGrid
Yapılandırma ayarı SendGrid tetikleyicileri ve bağlamaları bölümünde bulunabilir.
serviceBus
Yapılandırma ayarı Service Bus tetikleyicileri ve bağlamalarında bulunabilir.
Singleton
Tekil kilit davranışı için yapılandırma ayarları. Daha fazla bilgi için bkz . Tekil destek hakkında GitHub sorunu.
{
"singleton": {
"lockPeriod": "00:00:15",
"listenerLockPeriod": "00:01:00",
"listenerLockRecoveryPollingInterval": "00:01:00",
"lockAcquisitionTimeout": "00:01:00",
"lockAcquisitionPollingInterval": "00:00:03"
}
}
Özellik | Varsayılan | Açıklama |
---|---|---|
lockPeriod | 00:00:15 | İşlev düzeyi kilitlerinin alındığı süre. Otomatik yenilemeyi kilitler. |
dinleyiciLockPeriod | 00:01:00 | Dinleyici kilitlerinin alındığı süre. |
listenerLockRecoveryPollingInterval | 00:01:00 | Başlangıçta bir dinleyici kilidi alınamadıysa dinleyici kilidi kurtarma için kullanılan zaman aralığı. |
lockAcquisitionTimeout | 00:01:00 | Çalışma zamanının kilit almaya çalışacağı maksimum süre. |
lockAcquisitionPollingInterval | yok | Kilit alma girişimleri arasındaki aralık. |
telemetryMode
Bu özellik şu anda önizleme aşamasındadır.
OpenTelemetry'yi destekleyen bir veya daha fazla uç noktaya OpenTelemetry çıkış biçimindeki günlüklerin ve izlemelerin çıkışını etkinleştirmek için kullanılır. Bu ayar olarak ayarlandığında OpenTelemetry
OpenTelemetry çıkışı kullanılır. Varsayılan olarak bu ayar olmadan tüm günlükler, izlemeler ve olaylar standart çıkışlar kullanılarak Application Insights'a gönderilir. Daha fazla bilgi için bkz. Azure İşlevleri ile OpenTelemetry kullanma.
sürüm
Bu değer, host.json şema sürümünü gösterir. Sürüm dizesi "version": "2.0"
, v2 çalışma zamanını veya sonraki bir sürümü hedefleyen bir işlev uygulaması için gereklidir. v2 ile v3 arasında host.json şema değişikliği yoktur.
watchDirectories
Değişiklikler için izlenmesi gereken paylaşılan kod dizinleri kümesi. Bu dizinlerdeki kod değiştirildiğinde değişikliklerin işlevleriniz tarafından alınmasını sağlar.
{
"watchDirectories": [ "Shared" ]
}
watchFiles
Uygulamanızın yeniden başlatılmasını gerektiren değişiklikler için izlenen bir veya daha fazla dosya adı dizisi. Bu, bu dosyalardaki kod değiştirildiğinde güncelleştirmelerin işlevleriniz tarafından alınmasını garanti eder.
{
"watchFiles": [ "myFile.txt" ]
}
host.json değerlerini geçersiz kılma
host.json dosyasının kendisini değiştirmeden belirli bir ortam için host.json dosyasında belirli ayarları yapılandırmak veya değiştirmek istediğiniz örnekler olabilir. Uygulama ayarı olarak eşdeğer bir değer oluşturarak belirli host.json değerlerini geçersiz kılabilirsiniz. Çalışma zamanı biçiminde AzureFunctionsJobHost__path__to__setting
bir uygulama ayarı bulduğunda, JSON'da bulunan path.to.setting
eşdeğer host.json ayarını geçersiz kılar. Uygulama ayarı olarak ifade edildiğinde, JSON hiyerarşisini göstermek için kullanılan nokta (.
) yerine çift alt çizgi (__
kullanılır).
Örneğin, yerel olarak çalışırken Application Insight örneklemesini devre dışı bırakmak istediğinizi varsayalım. Application Insights'ı devre dışı bırakmak için yerel host.json dosyasını değiştirdiyseniz, bu değişiklik dağıtım sırasında üretim uygulamanıza gönderebilirsiniz. Bunu yapmak için daha güvenli bir yol bunun yerine dosyada olduğu gibi "AzureFunctionsJobHost__logging__applicationInsights__samplingSettings__isEnabled":"false"
bir uygulama ayarı oluşturmaktır local.settings.json
. Bunu, yayımlanmayan aşağıdaki local.settings.json
dosyada görebilirsiniz:
{
"IsEncrypted": false,
"Values": {
"AzureWebJobsStorage": "{storage-account-connection-string}",
"FUNCTIONS_WORKER_RUNTIME": "{language-runtime}",
"AzureFunctionsJobHost__logging__applicationInsights__samplingSettings__isEnabled":"false"
}
}
Ortam değişkenlerini kullanarak host.json ayarlarını geçersiz kılma, ASP.NET Core adlandırma kurallarını izler. Öğe yapısı bir dizi içerdiğinde, sayısal dizi dizini bu yolda ek öğe adı olarak ele alınmalıdır. Daha fazla bilgi için bkz . Ortam değişkenlerini adlandırma.