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:

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"
    },
    "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

Meghatározza, hogy hány függvényhívás lesz összesítve az Alkalmazás Elemzések 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.

alkalmazás Elemzések

Ez a beállítás a naplózás gyermeke.

Az alkalmazás Elemzések 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
mintavételezés Gépház n.a. Lásd: application Elemzések.sampling Gépház.
dependencyTrackingOptions n.a. Lásd: application Elemzések.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: application Elemzések.httpAutoCollectionOptions.
snapshotConfiguration n.a. Lásd: application Elemzések.snapshotConfiguration.

application Elemzések.sampling Gépház

További információ ezekről a beállításokról: Mintavételezés az alkalmazás Elemzések.

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 alkalmazás Elemzések milyen hamar emelheti újra a mintavételi százalékot további adatok rögzítéséhez.
samplingPercentageDecreaseTimeout 00:00:01 A mintavételezési százalékérték változásakor ez a tulajdonság határozza meg, hogy az alkalmazás Elemzések mennyi idő után lehet ismét csökkenteni a mintavételi 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.

application Elemzések.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 alkalmazás-Elemzések 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.

application Elemzések.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.

application Elemzések.snapshotConfiguration

A pillanatképekről további információt a .NET-alkalmazások kivételeinek hibakeresése és az alkalmazás Elemzések 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 Alkalmazás Elemzések 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 alkalmazás Elemzések telemetria á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 alkalmazás Elemzések 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 maximumSnapshotsRequiredszá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 alkalmazás Elemzések 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 az alkalmazásnak Elemzések látnia 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 alkalmazás Elemzések.

"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: ésalwaysdebugOnly. Ez a beállítás nem használható helyi futtatáskor. Ha lehetséges, az Azure-beli függvények hibakereséséhez az Application Elemzések kell használnia. 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.
alkalmazás Elemzések n.a. Az alkalmazás Elemzések 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 truea 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.

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 alkalmazás Elemzések, előfordulhat, hogy a módosítás le lesz küldve 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.

Következő lépések