Azure Functions 2.x és újabb verziók – host.json referencia
A host.json metaadatfájl olyan konfigurációs beállításokat tartalmaz, amelyek egy függvényalkalmazás-példány összes függvényét érintik. Ez a cikk az Azure Functions-futtatókörnyezet 2.x verziójától kezdve elérhető beállításokat sorolja fel.
Feljegyzés
Ez a cikk az Azure Functions 2.x és újabb verzióihoz készült. A Host.json a Functions 1.x-ben az Azure Functions 1.x host.json referenciájában talál.
A függvényalkalmazás egyéb konfigurációs beállításai a függvényalkalmazás futtatásának helyétől függően kezelhetők:
- Üzembe helyezés az Azure-ban: az alkalmazás beállításai között
- A helyi számítógépen: a local.settings.json fájlban.
A host.json kötésekhez kapcsolódó konfigurációi egyformán lesznek alkalmazva a függvényalkalmazás minden egyes függvényére.
A környezetenkénti beállításokat az alkalmazásbeállítások használatával is felülbírálhatja vagy alkalmazhatja.
Minta host.json fájl
Az alábbi host.json 2.x+ verziójú fájlban minden lehetséges lehetőség meg van adva (kivéve azokat, amelyek csak belső használatra használhatók).
{
"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" ]
}
A cikk következő szakaszai ismertetik az egyes legfelső szintű tulajdonságokat. Az összes nem kötelező, kivéve, ha másként van feltüntetve.
Aggregátor
Megadja, hogy hány függvényhívás lesz összesítve az Application Insights metrikáinak kiszámításakor.
{
"aggregator": {
"batchSize": 1000,
"flushTimeout": "00:00:30"
}
}
Tulajdonság | Alapértelmezett | Leírás |
---|---|---|
batchSize | 1000 | Összesítendő kérelmek maximális száma. |
flushTimeout | 00:00:30 | Az összesítendő maximális időtartam. |
A függvényhívások összesítése a két korlát közül az első elérésekor történik.
applicationInsights
Ez a beállítás a naplózás gyermeke.
Az Application Insights vezérlőbeállításai, beleértve a mintavételezési lehetőségeket is.
A teljes JSON-struktúrát a korábbi példa host.json fájlban tekinti meg.
Feljegyzés
Előfordulhat, hogy a napló-mintavételezés miatt bizonyos végrehajtások nem jelennek meg az Application Insights monitorozási paneljén. A naplómintavétel elkerülése érdekében adja hozzá excludedTypes: "Request"
az samplingSettings
értéket.
Tulajdonság | Alapértelmezett | Leírás |
---|---|---|
samplingSettings | n.a. | Lásd: applicationInsights.samplingSettings. |
dependencyTrackingOptions | n.a. | Lásd: applicationInsights.dependencyTrackingOptions. |
enableLiveMetrics | true | Engedélyezi az élő metrikák gyűjtését. |
enableDependencyTracking | true | Engedélyezi a függőségek nyomon követését. |
enablePerformanceCountersCollection | true | Engedélyezi a Kudu teljesítményszámlálók gyűjteményét. |
liveMetricsInitializationDelay | 00:00:15 | Csak belső használatra. |
httpAutoCollectionOptions | n.a. | Lásd: applicationInsights.httpAutoCollectionOptions. |
snapshotConfiguration | n.a. | Lásd: applicationInsights.snapshotConfiguration. |
applicationInsights.samplingSettings
További információ ezekről a beállításokról: Mintavételezés az Application Insightsban.
Tulajdonság | Alapértelmezett | Leírás |
---|---|---|
isEnabled | true | Engedélyezi vagy letiltja a mintavételezést. |
maxTelemetryItemsPerSecond | 20 | Az egyes kiszolgáló gazdagépeken másodpercenként naplózott telemetriai elemek célszáma. Ha az alkalmazás számos gazdagépen fut, csökkentse ezt az értéket, hogy a teljes célforgalomon belül maradjon. |
evaluationInterval | 01:00:00 | Az az intervallum, amelyen átértékeli a telemetriai adatok aktuális sebességét. A kiértékelés mozgóátlagként történik. Érdemes lehet lerövidíteni ezt az időközt, ha a telemetriai adatok hirtelen kipukkannak. |
initialSamplingPercentage | 100,0 | A mintavételi folyamat elején alkalmazott kezdeti mintavételi százalék a százalékos arány dinamikusan változik. Hibakeresés közben ne csökkentse az értéket. |
samplingPercentageIncreaseTimeout | 00:00:01 | A mintavételezési százalékérték változásakor ez a tulajdonság határozza meg, hogy az Application Insights milyen hamar emelheti újra a mintavételezési százalékot további adatok rögzítéséhez. |
samplingPercentageDecreaseTimeout | 00:00:01 | Ha a mintavételezési százalékérték megváltozik, ez a tulajdonság határozza meg, hogy az Application Insights milyen hamar csökkentheti a mintavételezési százalékot a kevesebb adat rögzítéséhez. |
minSamplingPercentage | 0,1 | Mivel a mintavételi százalék változó, ez a tulajdonság határozza meg a minimálisan megengedett mintavételi százalékot. |
maxSamplingPercentage | 100,0 | Mivel a mintavételezési százalék változó, ez a tulajdonság határozza meg a maximálisan megengedett mintavételi százalékot. |
movingAverageRatio | 1.0 | A mozgó átlag kiszámítása során a legutóbbi értékhez rendelt súly. Használjon 1-nél egyenlő vagy kisebb értéket. A kisebb értékek kevésbé reaktívvá teszik az algoritmust a hirtelen változásokra. |
excludedTypes | null | A mintavételhez nem kívánt típusok pontosvesszővel tagolt listája. A felismert típusok a következők: Dependency , Event , Exception , PageView , Request és Trace . A megadott típusok összes példánya továbbításra kerül; a nem megadott típusok mintavételezettek. |
includedTypes | null | A mintát venni kívánt típusok pontosvesszővel tagolt listája; az üres lista minden típust magában foglal. Az itt felsorolt felülbírálási excludedTypes típusok között felsorolt típus. A felismert típusok a következők: Dependency , Event , Exception , PageView , Request és Trace . A megadott típusok példányai mintavételezettek; a nem megadott vagy vélelmezett típusok mintavételezés nélkül kerülnek továbbításra. |
applicationInsights.httpAutoCollectionOptions
Tulajdonság | Alapértelmezett | Leírás |
---|---|---|
enableHttpTriggerExtendedInfoCollection | true | Engedélyezi vagy letiltja a HTTP-eseményindítók kiterjesztett HTTP-kérési információit: bejövő kérés korrelációs fejléceit, több-instrumentációs kulcsok támogatását, HTTP-metódust, elérési utat és választ. |
enableW3CDistributedTracing | true | Engedélyezi vagy letiltja a W3C elosztott nyomkövetési protokoll támogatását (és bekapcsolja az örökölt korrelációs sémát). Ha igaz, alapértelmezés szerint enableHttpTriggerExtendedInfoCollection engedélyezve van. Ha enableHttpTriggerExtendedInfoCollection hamis, ez a jelző csak a kimenő kérelmekre vonatkozik, a bejövő kérelmekre nem. |
enableResponseHeaderInjection | true | Engedélyezi vagy letiltja a többkomponensű korrelációs fejlécek válaszokba való injektálását. Az injektálás engedélyezése lehetővé teszi, hogy az Application Insights alkalmazástérképet hozzon létre több eszközkulcs használata esetén. Ha igaz, alapértelmezés szerint enableHttpTriggerExtendedInfoCollection engedélyezve van. Ez a beállítás nem érvényes, ha enableHttpTriggerExtendedInfoCollection hamis. |
applicationInsights.dependencyTrackingOptions
Tulajdonság | Alapértelmezett | Leírás |
---|---|---|
enableSqlCommandTextInstrumentation | false | Engedélyezi az SQL-lekérdezések teljes szövegének gyűjtését, amely alapértelmezés szerint le van tiltva. További információ az SQL-lekérdezés szövegének gyűjtéséről: Speciális SQL-követés a teljes SQL-lekérdezés lekéréséhez. |
applicationInsights.snapshotConfiguration
A pillanatképekről további információt a .NET-alkalmazások kivételeinek hibakeresése és az Application Insights pillanatkép-hibakeresőjének engedélyezésével vagy pillanatképek megtekintésével kapcsolatos problémák elhárítása című témakörben talál.
Tulajdonság | Alapértelmezett | Leírás |
---|---|---|
agentEndpoint | null | Az Application Insights Snapshot Debugger szolgáltatáshoz való csatlakozáshoz használt végpont. Null érték esetén a rendszer egy alapértelmezett végpontot használ. |
captureSnapshotMemoryWeight | 0,5 | Az aktuális folyamatmemória méretének súlya annak ellenőrzésekor, hogy van-e elegendő memória a pillanatkép készítéséhez. A várt érték nagyobb, mint 0 megfelelő tört (0 < CaptureSnapshotMemoryWeight < 1). |
failedRequestLimit | 3 | A telemetriai processzor letiltása előtt a pillanatképek lekérésére irányuló sikertelen kérelmek számának korlátja. |
handleUntrackedExceptions | true | Engedélyezi vagy letiltja az Application Insights telemetriai adatai által nem követett kivételek nyomon követését. |
isEnabled | true | Pillanatkép-gyűjtemény engedélyezése vagy letiltása |
isEnabledInDeveloperMode | false | A pillanatkép-gyűjtemény engedélyezése vagy letiltása fejlesztői módban engedélyezve van. |
isEnabledWhenProfiling | true | Engedélyezi vagy letiltja a pillanatképek létrehozását akkor is, ha az Application Insights Profiler részletes profilkészítési munkamenetet gyűjt. |
isExceptionSnappointsEnabled | false | Engedélyezi vagy letiltja a kivételek szűrését. |
isLowPrioritySnapshotUploader | true | Meghatározza, hogy a SnapshotUploader-folyamatot normál prioritás alatt kell-e futtatni. |
maximumCollectionPlanSize | 50 | Az egytől a 9999-esig terjedő tartományban bármikor nyomon követhető problémák maximális száma. |
maximumSnapshotsRequired | 3 | Az egyetlen problémához gyűjtött pillanatképek maximális száma egytől 999-esig terjedő tartományban. Előfordulhat, hogy a probléma egyéni dobásként jelenik meg az alkalmazásban. Ha egy problémához gyűjtött pillanatképek száma eléri ezt az értéket, a rendszer nem gyűjt több pillanatképet a problémához, amíg a problémaszámlálók alaphelyzetbe nem állnak (lásd problemCounterResetInterval ) és a korlát ismét el nem éri a thresholdForSnapshotting korlátot. |
problemCounterResetInterval | 24:00:00 | Milyen gyakran állíthatja alaphelyzetbe a problémaszámlálókat egy perctől hét napig terjedő tartományban. Ezt az időközt elérve minden problémaszám nullára lesz visszaállítva. A meglévő problémák, amelyek már elérték a pillanatképek készítésének küszöbértékét, de még nem generálták a pillanatképek maximumSnapshotsRequired számát, továbbra is aktívak maradnak. |
provideAnonymousTelemetry | true | Meghatározza, hogy névtelen használati és hibatelemetria küld-e a Microsoftnak. Ez a telemetria akkor használható, ha kapcsolatba lép a Microsofttal a Pillanatkép-hibakeresővel kapcsolatos problémák elhárításához. A használati minták figyelésére is használható. |
reconnectInterval | 00:15:00 | Milyen gyakran csatlakozunk újra a Snapshot Debugger végponthoz. Az engedélyezett tartomány egy perc és egy nap között van. |
shadowCopyFolder | null | Meghatározza a bináris fájlok árnyékmásolatához használandó mappát. Ha nincs beállítva, a rendszer a következő környezeti változók által megadott mappákat próbálja meg sorrendben: Fabric_Folder_App_Temp, LOCALAPPDATA, APPDATA, TEMP. |
shareUploaderProcess | true | Ha igaz, a SnapshotUploadernek csak egy példánya gyűjt és tölt fel pillanatképeket több olyan alkalmazáshoz, amelyek megosztják a InstrumentationKey-et. Ha hamis értékre van állítva, a SnapshotUploader minden egyes (ProcessName, InstrumentationKey) rekordhoz egyedi lesz. |
snapshotInLowPriorityThread | true | Meghatározza, hogy a pillanatképeket alacsony I/O-prioritású szálon dolgozza-e fel. A pillanatképek létrehozása gyors művelet, de ahhoz, hogy egy pillanatképet feltölthessen a Snapshot Debugger szolgáltatásba, először minidumpként kell lemezre írni. Ez történik a SnapshotUploader folyamatában. Ha ezt az értéket igaz értékre állítja, az alacsony prioritású IO használatával írja meg a minidumpot, amely nem versenyez az alkalmazással az erőforrásokért. Ha ezt az értéket hamisra állítja, az felgyorsítja a minidump létrehozását az alkalmazás lelassításának rovására. |
pillanatképekPerDayLimit | 30 | Az egy nap alatt engedélyezett pillanatképek maximális száma (24 óra). Ezt a korlátot az Application Insights szolgáltatás oldalán is érvényesíti a rendszer. A feltöltések sebessége alkalmazásonként naponta legfeljebb 50 lehet (azaz rendszerállapot-kulcsonként). Ez az érték segít megelőzni a feltöltés során végül elutasított további pillanatképek létrehozását. A nulla érték teljesen eltávolítja a korlátot, ami nem ajánlott. |
snapshotsPerTenMinutesLimit | 0 | Az engedélyezett pillanatképek maximális száma 10 perc alatt. Bár nincs felső határa ennek az értéknek, körültekintően növelje az éles számítási feladatokon, mert ez befolyásolhatja az alkalmazás teljesítményét. A pillanatképek létrehozása gyors, de a pillanatkép miniduplikációjának létrehozása és feltöltése a Snapshot Debugger szolgáltatásba sokkal lassabb művelet, amely versenyezni fog az alkalmazással az erőforrásokért (cpu és I/O). |
tempFolder | null | Meghatározza a minidumps és a feltöltő naplófájlok írásához szükséges mappát. Ha nincs beállítva, akkor a rendszer %TEMP%\Dumps értéket használ. |
thresholdForSnapshotting | 0 | Hányszor kell látnia az Application Insightsnak egy kivételt, mielőtt pillanatképeket kér. |
uploaderProxy | null | Felülbírálja a pillanatkép-feltöltési folyamatban használt proxykiszolgálót. Előfordulhat, hogy ezt a beállítást kell használnia, ha az alkalmazás proxykiszolgálón keresztül csatlakozik az internethez. A Pillanatkép-gyűjtő az alkalmazás folyamatán belül fut, és ugyanazokat a proxybeállításokat fogja használni. A Pillanatkép-feltöltő azonban külön folyamatként fut, és előfordulhat, hogy manuálisan kell konfigurálnia a proxykiszolgálót. Ha ez az érték null, akkor a Pillanatkép-gyűjtő megkísérli automatikusan észlelni a proxy címét úgy, hogy megvizsgálja System.Net.WebRequest.DefaultWebProxy és átadja az értéket a Pillanatkép-feltöltőnek. Ha ez az érték nem null, akkor az automatikus észlelés nem lesz használva, és az itt megadott proxykiszolgáló lesz használatban a Pillanatkép-feltöltőben. |
blobok
A konfigurációs beállítások a Storage-blob eseményindítóiban és kötéseiben találhatók.
konzol
Ez a beállítás a naplózás gyermeke. A konzol naplózását szabályozza, ha nincs hibakeresési módban.
{
"logging": {
...
"console": {
"isEnabled": false,
"DisableColors": true
},
...
}
}
Tulajdonság | Alapértelmezett | Leírás |
---|---|---|
DisableColors | false | Letiltja a naplóformázást a linuxos tárolónaplókban. Állítsa igaz értékre, ha nem kívánt ANSI-vezérlőkarakterek láthatók a tárolónaplókban Linuxon való futtatáskor. |
isEnabled | false | Engedélyezi vagy letiltja a konzolnaplózást. |
Azure Cosmos DB
A konfigurációs beállítások az Azure Cosmos DB-eseményindítókban és kötésekben találhatók.
customHandler
Egyéni kezelő konfigurációs beállításai. További információ: Azure Functions egyéni kezelők.
"customHandler": {
"description": {
"defaultExecutablePath": "server",
"workingDirectory": "handler",
"arguments": [ "--port", "%FUNCTIONS_CUSTOMHANDLER_PORT%" ]
},
"enableForwardingHttpRequest": false
}
Tulajdonság | Alapértelmezett | Leírás |
---|---|---|
defaultExecutablePath | n.a. | Az egyéni kezelőfolyamatként indítható végrehajtható. Ez kötelező beállítás egyéni kezelők használatakor, és értéke a függvényalkalmazás gyökeréhez viszonyítva van. |
workingDirectory | függvényalkalmazás gyökere | Az a munkakönyvtár, amelyben az egyéni kezelőfolyamatot el kell indítani. Nem kötelező beállítás, és értéke a függvényalkalmazás gyökeréhez képest van. |
Érvek | n.a. | Az egyéni kezelőfolyamatnak továbbítandó parancssori argumentumok tömbje. |
enableForwardingHttpRequest | false | Ha be van állítva, a rendszer a csak HTTP-eseményindítóból és HTTP-kimenetből álló összes függvényt az egyéni kezelőkérés hasznos adatai helyett az eredeti HTTP-kérést továbbítja. |
durableTask
A konfigurációs beállítás a Durable Functions kötéseiben található.
Konkurencia
Lehetővé teszi a dinamikus egyidejűséget bizonyos kötések esetében a függvényalkalmazásban. További információ: Dinamikus egyidejűség.
{
"concurrency": {
"dynamicConcurrencyEnabled": true,
"snapshotPersistenceEnabled": true
}
}
Tulajdonság | Alapértelmezett | Leírás |
---|---|---|
dynamicConcurrencyEnabled | false | Engedélyezi a dinamikus egyidejűségi viselkedést a funkció által támogatott összes eseményindító esetében, amely alapértelmezés szerint ki van kapcsolva. |
snapshotPersistenceEnabled | true | A tanult egyidejűségi értékek rendszeresen megmaradnak a tárolóban, így az új példányok az 1-től kezdődő és a tanulás újrakezdése helyett ezekből az értékekből indulnak ki. |
eventHub
A konfigurációs beállítások az Event Hub eseményindítóiban és kötéseiben találhatók.
bővítmények
Olyan tulajdonság, amely egy olyan objektumot ad vissza, amely tartalmazza az összes kötésspecifikus beállítást, például a HTTP-t és az eventHubot.
extensionBundle
A bővítménykötegekkel kompatibilis Functions-kötésbővítményeket adhat hozzá a függvényalkalmazáshoz. További információ: Bővítménycsomagok a helyi fejlesztéshez.
{
"version": "2.0",
"extensionBundle": {
"id": "Microsoft.Azure.Functions.ExtensionBundle",
"version": "[4.0.0, 5.0.0)"
}
}
Az extensionBundle
alábbi tulajdonságai érhetők el:
Tulajdonság | Leírás |
---|---|
id |
A Microsoft Azure Functions bővítménycsomagjainak névtere. |
version |
A telepíteni kívánt csomag verziótartománya. A Functions futtatókörnyezete mindig a verziótartomány által meghatározott legmagasabb verziószámot választja ki. Egy értéktartomány [4.0.0, 5.0.0) például lehetővé teszi az version összes csomagverziót a 4.0.0-tól az 5.0.0-ig, de az 5.0.0-s verziót nem. További információért lásd az intervallumok verziótartományok megadásakor történő megjelölésével foglalkozó részt. |
functions
A feladatgazda által futtatott függvények listája. Az üres tömb az összes függvény futtatását jelenti. Csak helyi futtatáskor használható. Az Azure-beli függvényalkalmazásokban ehelyett a lépésekkel tiltsa le a függvényeket az Azure Functionsben , és ne használja ezt a beállítást.
{
"functions": [ "QueueProcessor", "GitHubWebHook" ]
}
functionTimeout
Az összes függvényvégrehajtás időtúllépési időtartamát jelzi. Az időbélyeg-sztring formátumát követi.
Konstrukció típusa | Alapértelmezett (perc) | Maximális (perc) |
---|---|---|
Felhasználás | 5 | 10 |
Prémium1 | 30 | -1 (kötetlen)2 |
Dedikált (App Service) | 30 | -1 (kötetlen)2 |
1 Prémium csomag végrehajtása csak 60 percig garantált, de technikailag nem kötött.
2 A kötetlen végrehajtást jelző érték -1
, de a rögzített felső határ megtartása javasolt.
{
"functionTimeout": "00:05:00"
}
healthMonitor
A gazdagép állapotfigyelő konfigurációs beállításai.
{
"healthMonitor": {
"enabled": true,
"healthCheckInterval": "00:00:10",
"healthCheckWindow": "00:02:00",
"healthCheckThreshold": 6,
"counterThreshold": 0.80
}
}
Tulajdonság | Alapértelmezett | Leírás |
---|---|---|
engedélyezve | true | Megadja, hogy a szolgáltatás engedélyezve van-e. |
healthCheckInterval | 10 másodperc | Az időszakos háttérállapot-ellenőrzések közötti időintervallum. |
healthCheckWindow | 2 perc | A beállítással healthCheckThreshold együtt használt csúsztatási időablak. |
healthCheckThreshold | 6 | Az állapot-ellenőrzés legfeljebb hányszor hiúsulhat meg a gazdagépek újrahasznosításának megkezdése előtt. |
counterThreshold | 0.80 | Az a küszöbérték, amelynél a teljesítményszámláló nem megfelelőnek minősül. |
http
A konfigurációs beállítások http-eseményindítókban és kötésekben találhatók.
naplózás
Szabályozza a függvényalkalmazás naplózási viselkedését, beleértve az Application Insightst is.
"logging": {
"fileLoggingMode": "debugOnly",
"logLevel": {
"Function.MyFunction": "Information",
"default": "None"
},
"console": {
...
},
"applicationInsights": {
...
}
}
Tulajdonság | Alapértelmezett | Leírás |
---|---|---|
fileLoggingMode | debugOnly | Meghatározza a fájlnaplózás viselkedését az Azure-ban való futtatáskor. A beállítások a következőknever : ésalways debugOnly . Ez a beállítás nem használható helyi futtatáskor. Ha lehetséges, az Application Insightst kell használnia az Azure-beli függvények hibakereséséhez. A negatív használat always negatívan befolyásolja az alkalmazás hidegindítási viselkedését és az adatok átviteli sebességét. Az alapértelmezett debugOnly beállítás naplófájlokat hoz létre az Azure Portalon végzett hibakereséskor. |
logLevel | n.a. | Az alkalmazás függvényeinek naplókategória-szűrését meghatározó objektum. Ezzel a beállítással szűrheti az adott függvények naplózását. További információ: Naplószintek konfigurálása. |
konzol | n.a. | A konzol naplózási beállítása. |
applicationInsights | n.a. | Az applicationInsights beállítás. |
managedDependency
A felügyelt függőség egy olyan funkció, amely jelenleg csak a PowerShell-alapú függvényekkel támogatott. Lehetővé teszi a függőségek szolgáltatás általi automatikus kezelését. enabled
A tulajdonság beállításakor true
a requirements.psd1
fájl feldolgozása történik. A függőségek az alverziók kiadásakor frissülnek. További információ: Felügyelt függőségek a PowerShell-cikkben.
{
"managedDependency": {
"enabled": true
}
}
üzenetsorok
A konfigurációs beállítások a Tárolási üzenetsor eseményindítóiban és kötéseiben találhatók.
sendGrid
A konfigurációs beállítás a SendGrid-eseményindítókban és kötésekben található.
serviceBus
A konfigurációs beállítás a Service Bus-eseményindítókban és kötésekben található.
Singleton
A Singleton zárolási viselkedésének konfigurációs beállításai. További információ: GitHub-probléma az egyszeri támogatással kapcsolatban.
{
"singleton": {
"lockPeriod": "00:00:15",
"listenerLockPeriod": "00:01:00",
"listenerLockRecoveryPollingInterval": "00:01:00",
"lockAcquisitionTimeout": "00:01:00",
"lockAcquisitionPollingInterval": "00:00:03"
}
}
Tulajdonság | Alapértelmezett | Leírás |
---|---|---|
lockPeriod | 00:00:15 | Az az időszak, amelynél a függvényszint zárolva van. A zárolások automatikusan megújulnak. |
figyelőLockPeriod | 00:01:00 | A figyelő zárolásának időtartama. |
listenerLockRecoveryPollingInterval | 00:01:00 | A figyelőzár helyreállításához használt időintervallum, ha a figyelőzár nem szerezhető be indításkor. |
lockAcquisitionTimeout | 00:01:00 | Az a maximális időtartam, amikor a futtatókörnyezet megpróbál zárolást szerezni. |
lockAcquisitionPollingInterval | n.a. | A zárolásszerzési kísérletek közötti intervallum. |
telemetriaMode
Ez a funkció jelenleg előzetes verzióban érhető el.
A naplók és nyomkövetések OpenTelemetria kimeneti formátumban történő kimenetének engedélyezésére szolgál egy vagy több, az OpenTelemetryt támogató végpontra. Ha ez a beállítás be van állítva OpenTelemetry
, a rendszer OpenTelemetry-kimenetet használ. A beállítás nélkül alapértelmezés szerint a rendszer minden naplót, nyomkövetést és eseményt elküld az Application Insightsnak a standard kimenetek használatával. További információ: OpenTelemetry használata az Azure Functionsben.
Verzió
Ez az érték a host.json sémaverzióját jelzi. A verziósztring "version": "2.0"
szükséges egy olyan függvényalkalmazáshoz, amely a v2-es futtatókörnyezetet vagy egy újabb verziót célozza. A v2 és a v3 között nincsenek host.json sémamódosítások.
watchDirectories
Megosztott kódtárak készlete, amelyeket figyelni kell a módosításokra. Biztosítja, hogy az ezekben a könyvtárakban lévő kód módosításakor a függvények átvenni a módosításokat.
{
"watchDirectories": [ "Shared" ]
}
watchFiles
Egy vagy több olyan fájlnévből álló tömb, amelyet az alkalmazás újraindítását igénylő módosítások figyelnek. Ez garantálja, hogy az ezekben a fájlokban lévő kód módosításakor a függvények a frissítéseket veszik át.
{
"watchFiles": [ "myFile.txt" ]
}
Host.json értékek felülbírálása
Előfordulhatnak olyan példányok, amelyekben egy adott környezet host.json fájljának adott beállításait szeretné konfigurálni vagy módosítani anélkül, hogy magát a host.json fájlt módosítaná. Az adott host.json értékeket úgy bírálhatja felül, hogy alkalmazásbeállításként létrehoz egy egyenértékű értéket. Amikor a futtatókörnyezet egy alkalmazásbeállítást talál a formátumban AzureFunctionsJobHost__path__to__setting
, felülbírálja a JSON-ban található path.to.setting
egyenértékű host.json beállítást. Alkalmazásbeállításként kifejezve a JSON-hierarchia jelzésére használt pont (.
) helyébe dupla aláhúzásjel (__
) lép.
Tegyük fel például, hogy le szeretné tiltani az Application Insight-mintavételezést helyi futtatáskor. Ha úgy módosította a helyi host.json fájlt, hogy letiltsa az Application Insightst, a módosítást leküldheti az éles alkalmazásba az üzembe helyezés során. Ennek biztonságosabb módja, ha ehelyett egy alkalmazásbeállítást hoz létre, mint "AzureFunctionsJobHost__logging__applicationInsights__samplingSettings__isEnabled":"false"
a local.settings.json
fájlban. Ezt a következő local.settings.json
fájlban láthatja, amely nem lesz közzétéve:
{
"IsEncrypted": false,
"Values": {
"AzureWebJobsStorage": "{storage-account-connection-string}",
"FUNCTIONS_WORKER_RUNTIME": "{language-runtime}",
"AzureFunctionsJobHost__logging__applicationInsights__samplingSettings__isEnabled":"false"
}
}
A környezeti változók host.json beállításainak felülírása a ASP.NET Core elnevezési konvenciók szerint történik. Ha az elemszerkezet tartalmaz egy tömböt, a numerikus tömbindexet az elérési út további elemneveként kell kezelni. További információ: Környezeti változók elnevezése.