Sdílet prostřednictvím


Referenční informace k souboru host.json pro Azure Functions 2.x a novější

Soubor metadat host.json obsahuje možnosti konfigurace, které ovlivňují všechny funkce v instanci aplikace funkcí. Tento článek uvádí nastavení, která jsou k dispozici od verze 2.x modulu runtime Azure Functions.

Poznámka:

Tento článek je určený pro Azure Functions 2.x a novější verze. Referenční informace o host.json ve službě Functions 1.x najdete v host.json referenčních informacích ke službě Azure Functions 1.x.

Další možnosti konfigurace aplikace funkcí se spravují v závislosti na tom, kde aplikace funkcí běží:

Konfigurace v host.json souvisejících s vazbami se aplikují rovnoměrně na každou funkci v aplikaci funkcí.

Nastavení můžete také přepsat nebo použít pro každé prostředí pomocí nastavení aplikace.

Ukázkový soubor host.json

Následující ukázkový soubor host.json verze 2.x+ obsahuje všechny možné možnosti (s výjimkou všech, které jsou určené jenom pro interní použití).

{
    "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" ]
}

Následující části tohoto článku vysvětlují jednotlivé vlastnosti nejvyšší úrovně. Všechny jsou volitelné, pokud není uvedeno jinak.

agregátor

Určuje, kolik volání funkcí se agreguje při výpočtu metrik pro Application Insights.

{
    "aggregator": {
        "batchSize": 1000,
        "flushTimeout": "00:00:30"
    }
}
Vlastnost Výchozí Popis
batchSize 1000 Maximální počet požadavků, které se mají agregovat.
flushTimeout 00:00:30 Maximální časové období, které se má agregovat.

Vyvolání funkcí se agreguje při dosažení prvního ze dvou limitů.

applicationInsights

Toto nastavení je podřízené protokolování.

Možnosti ovládacích prvků pro Application Insights, včetně možností vzorkování

Kompletní strukturu JSON najdete v předchozím příkladu host.json souboru.

Poznámka:

Vzorkování protokolů může způsobit, že se některá spuštění nezobrazí v okně Monitorování Application Insights. Pokud se chcete vyhnout vzorkování protokolů, přidejte excludedTypes: "Request" ji k hodnotě samplingSettings .

Vlastnost Výchozí Popis
samplingSettings Není k dispozici Viz applicationInsights.samplingSettings.
dependencyTrackingOptions Není k dispozici Viz applicationInsights.dependencyTrackingOptions.
enableLiveMetrics true Povolí shromažďování živých metrik.
enableDependencyTracking true Umožňuje sledování závislostí.
enablePerformanceCountersCollection true Povolí kolekci čítačů výkonu Kudu.
liveMetricsInitializationDelay 00:00:15 Jen pro interní potřebu
httpAutoCollectionOptions Není k dispozici Viz applicationInsights.httpAutoCollectionOptions.
snapshotConfiguration Není k dispozici Viz applicationInsights.snapshotConfiguration.

applicationInsights.samplingSettings

Další informace o těchto nastaveních najdete v tématu Vzorkování v Application Insights.

Vlastnost Výchozí Popis
isEnabled true Povolí nebo zakáže vzorkování.
maxTelemetryItemsPerSecond 20 Cílový počet položek telemetrie protokolovaných za sekundu na každém hostiteli serveru. Pokud vaše aplikace běží na mnoha hostitelích, snižte tuto hodnotu tak, aby zůstala v celkové cílové míře provozu.
evaluationInterval 01:00:00 Interval, ve kterém se opětovně zhodnotí aktuální rychlost telemetrie. Vyhodnocení se provádí jako klouzavý průměr. Tento interval můžete zkrátit, pokud vaše telemetrie odpovídá náhlému nárůstu.
initialSamplingPercentage 100.0 Počáteční procento vzorkování použité na začátku procesu vzorkování se dynamicky liší. Při ladění nezmenšujte hodnotu.
samplingPercentageIncreaseTimeout 00:00:01 Když se změní procentuální hodnota vzorkování, tato vlastnost určuje, jak brzy bude služba Application Insights moci znovu zvýšit procento vzorkování, aby zachytila více dat.
samplingPercentageDecreaseTimeout 00:00:01 Když se změní procentuální hodnota vzorkování, tato vlastnost určuje, jak brzy bude služba Application Insights moct znovu snížit procento vzorkování, aby se zachytála méně dat.
minSamplingPercentage 0,1 Vzhledem k tomu, že se procento vzorkování liší, tato vlastnost určuje minimální povolené procento vzorkování.
maxSamplingPercentage 100.0 Vzhledem k tomu, že se procento vzorkování liší, určuje tato vlastnost maximální povolené procento vzorkování.
movingAverageRatio 1.0 Při výpočtu klouzavého průměru je váha přiřazená k nejnovější hodnotě. Použijte hodnotu rovnou nebo menší než 1. Menší hodnoty činí algoritmus méně reaktivní na náhlé změny.
excludedTypes null Seznam typů oddělených středníkem, které nechcete vzorkovat. Rozpoznané typy jsou: Dependency, Event, ExceptionPageView, Request, a Trace. Všechny instance zadaných typů jsou přenášeny; typy, které nejsou zadané, se vzorkují.
includedTypes null Středník oddělený seznam typů, které chcete vzorkovat; Prázdný seznam znamená všechny typy. Tady jsou uvedené excludedTypes typy přepsání. Rozpoznané typy jsou: Dependency, Event, ExceptionPageView, Request, a Trace. Instance zadaných typů jsou vzorkovány; typy, které nejsou zadané nebo předpokládané, se přenášejí bez vzorkování.

applicationInsights.httpAutoCollectionOptions

Vlastnost Výchozí Popis
enableHttpTriggerExtendedInfoCollection true Povolí nebo zakáže rozšířené informace o požadavcích HTTP pro triggery HTTP: hlavičky korelace příchozích požadavků, podpora více instrumentačních klíčů, metoda HTTP, cesta a odpověď.
enableW3CDistributedTracing true Povolí nebo zakáže podporu distribuovaného trasovacího protokolu W3C (a zapne starší schéma korelace). Ve výchozím nastavení je povoleno, pokud enableHttpTriggerExtendedInfoCollection je true. Pokud enableHttpTriggerExtendedInfoCollection je false, platí tento příznak pouze pro odchozí požadavky, nikoli příchozí požadavky.
enableResponseHeaderInjection true Povolí nebo zakáže injektáž hlaviček korelace s více komponentami do odpovědí. Povolení injektáže umožňuje Application Insights vytvořit mapu aplikace, na které se použije několik instrumentačních klíčů. Ve výchozím nastavení je povoleno, pokud enableHttpTriggerExtendedInfoCollection je true. Toto nastavení neplatí, pokud enableHttpTriggerExtendedInfoCollection je false.

applicationInsights.dependencyTrackingOptions

Vlastnost Výchozí Popis
enableSqlCommandTextInstrumentation false (nepravda) Povolí kolekci úplného textu dotazů SQL, která je ve výchozím nastavení zakázaná. Další informace o shromažďování textu dotazu SQL najdete v tématu Rozšířené sledování SQL, abyste získali úplný dotaz SQL.

applicationInsights.snapshotConfiguration

Další informace o snímcích najdete v tématu Ladění snímků u výjimek v aplikacích .NET a řešení potíží s povolením ladicího programu snímků Application Insights nebo zobrazením snímků.

Vlastnost Výchozí Popis
agentEndpoint null Koncový bod použitý k připojení ke službě Application Insights Snapshot Debugger. Pokud je hodnota null, použije se výchozí koncový bod.
captureSnapshotMemoryWeight 0.5 Váha zadaná aktuální velikosti paměti procesu při kontrole, jestli je k pořízení snímku dostatek paměti. Očekávaná hodnota je větší než 0 správný zlomek (0 < CaptureSnapshotMemoryWeight < 1).
failedRequestLimit 3 Omezení počtu neúspěšných požadavků na vyžádání snímků před zakázání procesoru telemetrie.
handleUntrackedExceptions true Povolí nebo zakáže sledování výjimek, které nejsou sledovány telemetrií Application Insights.
isEnabled true Povolí nebo zakáže kolekci snímků.
isEnabledInDeveloperMode false (nepravda) Povolí nebo zakáže shromažďování snímků v režimu vývojáře.
isEnabledWhenProfiling true Povolí nebo zakáže vytváření snímků, i když profiler Application Insights shromažďuje podrobnou relaci profilace.
isExceptionSnappointsEnabled false (nepravda) Povolí nebo zakáže filtrování výjimek.
isLowPrioritySnapshotUploader true Určuje, zda se má spustit proces SnapshotUploader s nižší normální prioritou.
maximumCollectionPlanSize 50 Maximální počet problémů, které můžeme kdykoli sledovat v rozsahu od 1 do 9999.
maximumSnapshotsRequired 3 Maximální počet snímků shromážděných pro jeden problém v rozsahu od jednoho do 999. Problém může být považován za jednotlivý příkaz throw ve vaší aplikaci. Jakmile počet snímků shromážděných pro problém dosáhne této hodnoty, nebudou se pro tento problém shromažďovat žádné další snímky, dokud se čítače problémů resetují (viz) problemCounterResetIntervala thresholdForSnapshotting limit se dosáhne znovu.
problemCounterResetInterval 24:00:00 Jak často se čítače problému resetují v rozsahu od jedné minuty do sedmi dnů. Po dosažení tohoto intervalu se všechny počty problémů resetují na nulu. Stávající problémy, které již dosáhly prahové hodnoty pro provádění snímků, ale dosud nevygenerovaly počet snímků, maximumSnapshotsRequiredzůstanou aktivní.
provideAnonymousTelemetry true Určuje, jestli se má odesílat anonymní využití a telemetrie chyb do Microsoftu. Tato telemetrie se může použít, pokud se obrátíte na Microsoft, abyste pomohli vyřešit problémy s ladicím programem Snapshot Debugger. Používá se také k monitorování vzorů použití.
reconnectInterval 00:15:00 Jak často se znovu připojíme ke koncovému bodu Snapshot Debuggeru. Povolený rozsah je jedna minuta až jeden den.
shadowCopyFolder null Určuje složku, která se má použít pro binární soubory stínové kopie. Pokud není nastavená, složky zadané následujícími proměnnými prostředí se pokusí v uvedeném pořadí: Fabric_Folder_App_Temp, LOCALAPPDATA, APPDATA, TEMP.
shareUploaderProcess true Pokud je pravda, shromáždí a nahraje snímky pro více aplikací, které sdílejí InstrumentationKey, pouze jedna instance SnapshotUploaderu. Pokud je nastavená hodnota false, snapshotUploader bude jedinečný pro řazenou kolekci členů (ProcessName, InstrumentationKey).
snapshotInLowPriorityThread true Určuje, jestli se mají snímky zpracovávat ve vlákně s nízkou prioritou vstupně-výstupních operací. Vytvoření snímku je rychlá operace, ale aby bylo možné nahrát snímek do služby Snapshot Debugger, musí se nejprve zapsat na disk jako minidump. K tomu dochází v procesu SnapshotUploader. Nastavení této hodnoty na true používá vstupně-výstupní operace s nízkou prioritou k zápisu minidumpu, který nebude soutěžit s vaší aplikací pro prostředky. Nastavením této hodnoty na hodnotu false se zrychlí vytvoření minidumpu na úkor zpomalení aplikace.
snapshotsPerDayLimit 30 Maximální povolený počet snímků za jeden den (24 hodin). Tento limit se také vynucuje na straně služby Application Insights. Nahrávání je omezené na 50 za den na aplikaci (to znamená na instrumentační klíč). Tato hodnota pomáhá zabránit vytváření dalších snímků, které se nakonec při nahrávání zamítnou. Hodnota nuly odebere limit zcela, což se nedoporučuje.
snapshotsPerTenMinutesLimit 0 Maximální povolený počet snímků za 10 minut. I když u této hodnoty není žádná horní mez, buďte opatrní, protože by to mohlo mít vliv na výkon vaší aplikace. Vytvoření snímku je rychlé, ale vytvoření minidump snímku a jeho nahrání do služby Snapshot Debugger je mnohem pomalejší operace, která bude soupeřit s vaší aplikací o prostředky (procesor i vstupně-výstupní operace).
tempFolder null Určuje složku pro zápis minidumps a nahrávací soubory protokolu. Pokud není nastavená, použije se %TEMP%\Dumps .
prahová hodnotaForSnapshotting 0 Kolikrát application Insights potřebuje vidět výjimku, než požádá o snímky.
uploaderProxy null Přepíše proxy server použitý v procesu Nahrávání snímků. Toto nastavení možná budete muset použít, pokud se vaše aplikace připojuje k internetu přes proxy server. Kolektor snímků běží v rámci procesu vaší aplikace a použije stejné nastavení proxy serveru. Nástroj Pro nahrávání snímků ale běží jako samostatný proces a možná budete muset proxy server nakonfigurovat ručně. Pokud má tato hodnota hodnotu null, pokusí se služba Snapshot Collector automaticky zjistit adresu proxy serveru prozkoumáním System.Net.WebRequest.DefaultWebProxy a předáním hodnoty službě Snapshot Uploader. Pokud tato hodnota není null, autodetection se nepoužije a proxy server zadaný zde se použije v nástroji Snapshot Uploader.

objekty blob

Nastavení konfigurace najdete v triggerech a vazbách objektů blob služby Storage.

konzola

Toto nastavení je podřízené protokolování. Řídí protokolování konzoly, pokud není v režimu ladění.

{
    "logging": {
    ...
        "console": {
          "isEnabled": false,
          "DisableColors": true
        },
    ...
    }
}
Vlastnost Výchozí Popis
DisableColors false (nepravda) Potlačí formátování protokolu v protokolech kontejneru v Linuxu. Pokud se v protokolech kontejneru při spuštění v Linuxu zobrazují nežádoucí řídicí znaky ANSI, nastavte na hodnotu true.
isEnabled false (nepravda) Povolí nebo zakáže protokolování konzoly.

Azure Cosmos DB

Nastavení konfigurace najdete v triggerech a vazbách služby Azure Cosmos DB.

customHandler

Nastavení konfigurace pro vlastní obslužnou rutinu Další informace najdete v tématu Vlastní obslužné rutiny Azure Functions.

"customHandler": {
  "description": {
    "defaultExecutablePath": "server",
    "workingDirectory": "handler",
    "arguments": [ "--port", "%FUNCTIONS_CUSTOMHANDLER_PORT%" ]
  },
  "enableForwardingHttpRequest": false
}
Vlastnost Výchozí Popis
defaultExecutablePath Není k dispozici Spustitelný soubor, který se má spustit jako vlastní proces obslužné rutiny. Je to povinné nastavení při použití vlastních obslužných rutin a jeho hodnota je relativní vůči kořenovému adresáři aplikace funkcí.
workingDirectory Kořen aplikace funkcí Pracovní adresář, ve kterém se má spustit vlastní proces obslužné rutiny. Jedná se o volitelné nastavení a jeho hodnota je relativní vzhledem k kořenovému adresáři aplikace funkcí.
argumenty Není k dispozici Pole argumentů příkazového řádku, které se mají předat procesu vlastní obslužné rutiny.
enableForwardingHttpRequest false (nepravda) Pokud je tato možnost nastavená, všechny funkce, které se skládají pouze z triggeru HTTP, a výstup HTTP se předávají původní požadavek HTTP místo datové části požadavku vlastní obslužné rutiny.

durableTask

Nastavení konfigurace najdete ve vazbách pro Durable Functions.

souběžnost

Umožňuje dynamickou souběžnost pro konkrétní vazby v aplikaci funkcí. Další informace najdete v tématu Dynamické souběžnosti.

    { 
        "concurrency": { 
            "dynamicConcurrencyEnabled": true, 
            "snapshotPersistenceEnabled": true 
        } 
    } 
Vlastnost Výchozí Popis
dynamicConcurrencyEnabled false (nepravda) Umožňuje dynamické chování souběžnosti pro všechny triggery podporované touto funkcí, které je ve výchozím nastavení vypnuté.
snapshotPersistenceEnabled true Naučené hodnoty souběžnosti se pravidelně uchovávají v úložišti, takže nové instance začínají od těchto hodnot místo toho, aby začínaly od 1 a nemusely se učit znovu.

eventHub

Nastavení konfigurace najdete v triggerech a vazbách centra událostí.

rozšíření

Vlastnost, která vrací objekt, který obsahuje všechna nastavení specifická pro vazbu, jako je http a eventHub.

extensionBundle

Sady rozšíření umožňují přidat do aplikace funkcí kompatibilní sadu rozšíření vazeb functions. Další informace najdete v tématu Sady rozšíření pro místní vývoj.

{
    "version": "2.0",
    "extensionBundle": {
        "id": "Microsoft.Azure.Functions.ExtensionBundle",
        "version": "[4.0.0, 5.0.0)"
    }
}

V objektu extensionBundle jsou k dispozici následující vlastnosti:

Vlastnost Popis
id Obor názvů pro sady rozšíření Microsoft Azure Functions
version Rozsah verzí sady, která se má nainstalovat. Modul runtime služby Functions vždy vybere maximální přípustnou verzi definovanou rozsahem nebo intervalem verzí. Například version rozsah [4.0.0, 5.0.0) hodnot umožňuje všechny verze sady z verze 4.0.0 až do 5.0.0, ale nezahrnuje 5.0.0. Další informace najdete v části věnované zápisu intervalů pro zadávání rozsahů verzí.

– funkce

Seznam funkcí, které hostitel úlohy spouští. Prázdné pole znamená spuštění všech funkcí. Určeno k použití pouze při místním spuštění. V aplikacích funkcí v Azure byste měli místo toho postupovat podle kroků v části Jak zakázat funkce ve službě Azure Functions a zakázat konkrétní funkce místo použití tohoto nastavení.

{
    "functions": [ "QueueProcessor", "GitHubWebHook" ]
}

functionTimeout

Určuje dobu trvání časového limitu pro všechna spuštění funkce. Řídí se formátem řetězce časového rozsahu.

Typ plánu Výchozí (min. ) Maximum (min)
Využití 5 10
Premium1 30 -1 (nevázané)2
Dedicated (App Service) 30 -1 (nevázané)2

1 Spuštění plánu Premium je zaručeno pouze po dobu 60 minut, ale technicky nevázané.
2 Hodnota -1 indikuje nevázané spuštění, ale doporučuje se zachovat pevnou horní mez.

{
    "functionTimeout": "00:05:00"
}

healthMonitor

Nastavení konfigurace pro monitorování stavu hostitele

{
    "healthMonitor": {
        "enabled": true,
        "healthCheckInterval": "00:00:10",
        "healthCheckWindow": "00:02:00",
        "healthCheckThreshold": 6,
        "counterThreshold": 0.80
    }
}
Vlastnost Výchozí Popis
enabled true Určuje, jestli je funkce povolená.
healthCheckInterval 10 sekund Časový interval mezi pravidelnými kontrolami stavu na pozadí.
healthCheckWindow 2 minuty Posuvné časové okno použité ve spojení s healthCheckThreshold nastavením.
healthCheckThreshold 6 Maximální počet selhání kontroly stavu před zahájením recyklace hostitele
counterThreshold 0.80 Prahová hodnota, při které bude čítač výkonu považován za poškozený.

http

Nastavení konfigurace najdete v triggerech a vazbách HTTP.

protokolování

Řídí chování protokolování aplikace funkcí, včetně Application Insights.

"logging": {
    "fileLoggingMode": "debugOnly",
    "logLevel": {
      "Function.MyFunction": "Information",
      "default": "None"
    },
    "console": {
        ...
    },
    "applicationInsights": {
        ...
    }
}
Vlastnost Výchozí Popis
fileLoggingMode DebugOnly Určuje chování protokolování souborů při spuštění v Azure. Možnosti jsou never, alwaysa debugOnly. Toto nastavení se nepoužívá při místním spuštění. Pokud je to možné, měli byste při ladění funkcí v Azure použít Application Insights. Použití always negativních dopadů na chování při studeném spuštění aplikace a propustnost dat. Výchozí debugOnly nastavení generuje soubory protokolů při ladění pomocí webu Azure Portal.
logLevel Není k dispozici Objekt, který definuje filtrování kategorií protokolu pro funkce v aplikaci. Toto nastavení umožňuje filtrovat protokolování pro konkrétní funkce. Další informace najdete v tématu Konfigurace úrovní protokolu.
konzola Není k dispozici Nastavení protokolování konzoly .
applicationInsights Není k dispozici Nastavení applicationInsights .

managedDependency

Spravovaná závislost je funkce, která se v současné době podporuje jenom u funkcí založených na PowerShellu. Umožňuje automatickou správu závislostí službou. Pokud je vlastnost nastavena enabled na true, requirements.psd1 soubor se zpracuje. Závislosti se aktualizují při vydání všech podverzí. Další informace najdete v článku o spravované závislosti v PowerShellu.

{
    "managedDependency": {
        "enabled": true
    }
}

fronty

Nastavení konfigurace najdete v triggerech a vazbách fronty služby Storage.

sendGrid

Nastavení konfigurace najdete v triggerech a vazbách SendGrid.

serviceBus

Nastavení konfigurace najdete v triggerech a vazbách služby Service Bus.

unikát

Nastavení konfigurace pro chování zámku Singleton. Další informace najdete v tématu o problému GitHubu s podporou singletonu.

{
    "singleton": {
      "lockPeriod": "00:00:15",
      "listenerLockPeriod": "00:01:00",
      "listenerLockRecoveryPollingInterval": "00:01:00",
      "lockAcquisitionTimeout": "00:01:00",
      "lockAcquisitionPollingInterval": "00:00:03"
    }
}
Vlastnost Výchozí Popis
lockPeriod 00:00:15 Období, pro které se zamykají na úrovni funkce. Zámky se automaticky prodlužují.
ListenerLockPeriod 00:01:00 Období, pro které se zamkne naslouchací proces, se používá.
ListenerLockRecoveryPollingInterval 00:01:00 Časový interval použitý pro obnovení naslouchacího procesu, pokud se nepodařilo získat zámek naslouchacího procesu při spuštění.
lockAcquisitionTimeout 00:01:00 Maximální doba, po kterou se modul runtime pokusí získat zámek.
lockAcquisitionPollingInterval Není k dispozici Interval mezi pokusy o získání zámku.

telemetryMode

Tato funkce je aktuálně ve verzi Preview.

Slouží k povolení výstupu protokolů a trasování ve výstupním formátu OpenTelemetry do jednoho nebo více koncových bodů, které podporují OpenTelemetry. Pokud je toto nastavení nastavené na OpenTelemetry, použije se výstup OpenTelemetry. Ve výchozím nastavení bez tohoto nastavení se všechny protokoly, trasování a události odesílají do Application Insights pomocí standardních výstupů. Další informace najdete v tématu Použití OpenTelemetry se službou Azure Functions.

version

Tato hodnota označuje verzi schématu host.json. Řetězec "version": "2.0" verze se vyžaduje pro aplikaci funkcí, která cílí na modul runtime v2 nebo novější verzi. Mezi v2 a v3 nejsou žádné změny schématu host.json.

watchDirectories

Sada sdílených adresářů kódu, které by měly být monitorovány pro změny. Zajišťuje, že když se změní kód v těchto adresářích, budou změny vyzvednuty vašimi funkcemi.

{
    "watchDirectories": [ "Shared" ]
}

watchFiles

Pole jednoho nebo více názvů souborů, které jsou monitorovány pro změny, které vyžadují restartování aplikace. To zaručuje, že když se změní kód v těchto souborech, budou aktualizace vyzvednuty vašimi funkcemi.

{
    "watchFiles": [ "myFile.txt" ]
}

Přepsání hodnot host.json

Mohou existovat případy, kdy chcete nakonfigurovat nebo upravit konkrétní nastavení v souboru host.json pro konkrétní prostředí, aniž byste změnili samotný soubor host.json. Konkrétní host.json hodnoty můžete přepsat vytvořením ekvivalentní hodnoty jako nastavení aplikace. Když modul runtime najde nastavení aplikace ve formátu, přepíše ekvivalentní nastavení host.json umístěné path.to.setting ve formátu AzureFunctionsJobHost__path__to__settingJSON. Pokud je vyjádřeno jako nastavení aplikace, tečka (.) použitá k označení hierarchie JSON se nahradí dvojitým podtržítkem (__).

Řekněme například, že chcete zakázat vzorkování Application Insights při místním spuštění. Pokud jste změnili místní soubor host.json tak, aby zakázal Application Insights, může se tato změna během nasazování odeslat do produkční aplikace. Bezpečnější způsob, jak to udělat, je místo toho vytvořit nastavení aplikace jako "AzureFunctionsJobHost__logging__applicationInsights__samplingSettings__isEnabled":"false" v local.settings.json souboru. Toto se zobrazí v následujícím local.settings.json souboru, který se nepublikuje:

{
    "IsEncrypted": false,
    "Values": {
        "AzureWebJobsStorage": "{storage-account-connection-string}",
        "FUNCTIONS_WORKER_RUNTIME": "{language-runtime}",
        "AzureFunctionsJobHost__logging__applicationInsights__samplingSettings__isEnabled":"false"
    }
}

Přepsání nastavení host.json pomocí proměnných prostředí se řídí ASP.NET základními konvencemi vytváření názvů. Pokud struktura elementu obsahuje pole, měl by být číselný index pole považován za další název elementu v této cestě. Další informace najdete v tématu Pojmenování proměnných prostředí.

Další kroky