Dokumentacja pliku host.json dla usługi Azure Functions w wersji 2.x lub nowszej
Plik metadanych host.json zawiera opcje konfiguracji, które mają wpływ na wszystkie funkcje w wystąpieniu aplikacji funkcji. W tym artykule wymieniono dostępne ustawienia, począwszy od wersji 2.x środowiska uruchomieniowego usługi Azure Functions.
Uwaga
Ten artykuł dotyczy usługi Azure Functions w wersji 2.x i nowszych. Aby zapoznać się z dokumentacją host.json w usłudze Functions 1.x, zobacz host.json reference for Azure Functions 1.x (Dokumentacja usługi Azure Functions 1.x).
Inne opcje konfiguracji aplikacji funkcji są zarządzane w zależności od tego, gdzie działa aplikacja funkcji:
- Wdrożone na platformie Azure: w ustawieniach aplikacji
- Na komputerze lokalnym: w pliku local.settings.json .
Konfiguracje w host.json powiązane z powiązaniami są stosowane równie do każdej funkcji w aplikacji funkcji.
Możesz również zastąpić lub zastosować ustawienia dla danego środowiska przy użyciu ustawień aplikacji.
Przykładowy plik host.json
Poniższy przykładowy plik host.json dla wersji 2.x+ zawiera wszystkie możliwe opcje określone (z wyjątkiem wszystkich, które są przeznaczone tylko do użytku wewnętrznego).
{
"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" ]
}
W poniższych sekcjach tego artykułu opisano każdą właściwość najwyższego poziomu. Wszystkie są opcjonalne, chyba że wskazano inaczej.
Agregator
Określa, ile wywołań funkcji jest agregowanych podczas obliczania metryk dla usługi Application Insights.
{
"aggregator": {
"batchSize": 1000,
"flushTimeout": "00:00:30"
}
}
Właściwości | Domyślny | opis |
---|---|---|
batchSize | 1000 | Maksymalna liczba żądań do agregowania. |
flushTimeout | 00:00:30 | Maksymalny okres do agregowania. |
Wywołania funkcji są agregowane po osiągnięciu pierwszego z dwóch limitów.
applicationInsights
To ustawienie jest elementem podrzędnym rejestrowania.
Kontroluje opcje usługi Application Insights, w tym opcje próbkowania.
Aby uzyskać pełną strukturę JSON, zobacz wcześniejszy przykładowy plik host.json.
Uwaga
Próbkowanie dzienników może spowodować, że niektóre wykonania nie będą widoczne w bloku monitora usługi Application Insights. Aby uniknąć próbkowania dzienników, dodaj excludedTypes: "Request"
wartość samplingSettings
.
Właściwości | Domyślny | opis |
---|---|---|
samplingSettings | nie dotyczy | Zobacz applicationInsights.samplingSettings. |
dependencyTrackingOptions | nie dotyczy | Zobacz applicationInsights.dependencyTrackingOptions. |
enableLiveMetrics | prawda | Włącza zbieranie metryk na żywo. |
enableDependencyTracking | prawda | Włącza śledzenie zależności. |
enablePerformanceCountersCollection | prawda | Włącza zbieranie liczników wydajności Kudu. |
liveMetricsInitializationDelay | 00:00:15 | Tylko do użytku wewnętrznego. |
httpAutoCollectionOptions | nie dotyczy | Zobacz applicationInsights.httpAutoCollectionOptions. |
snapshotConfiguration | nie dotyczy | Zobacz applicationInsights.snapshotConfiguration. |
applicationInsights.samplingSettings
Aby uzyskać więcej informacji na temat tych ustawień, zobacz Próbkowanie w usłudze Application Insights.
Właściwości | Domyślny | opis |
---|---|---|
isEnabled | prawda | Włącza lub wyłącza próbkowanie. |
maxTelemetryItemsPerSecond | 20 | Docelowa liczba zarejestrowanych elementów telemetrii na sekundę na każdym hoście serwera. Jeśli aplikacja działa na wielu hostach, zmniejsz tę wartość, aby zachować ogólną docelową szybkość ruchu. |
evaluationInterval | 01:00:00 | Interwał, w którym jest ponownie oceniana bieżąca szybkość telemetrii. Ocena jest wykonywana jako średnia ruchoma. Możesz skrócić ten interwał, jeśli dane telemetryczne mogą być podatne na nagłe wybuchy. |
initialSamplingPercentage | 100,0 | Początkowa wartość procentowa próbkowania zastosowana na początku procesu próbkowania w celu dynamicznego zmieniania wartości procentowej. Nie zmniejszaj wartości podczas debugowania. |
samplingPercentageIncreaseTimeout | 00:00:01 | Gdy wartość procentowa próbkowania zmieni się, ta właściwość określa, jak szybko potem usługa Application Insights może ponownie podnieść procent próbkowania, aby przechwycić więcej danych. |
samplingPercentageDecreaseTimeout | 00:00:01 | Gdy wartość procentowa próbkowania zmieni się, ta właściwość określa, jak szybko potem usługa Application Insights może ponownie obniżyć procent próbkowania w celu przechwycenia mniejszej ilości danych. |
minSamplingPercentage | 0.1 | Ponieważ procent próbkowania jest różny, ta właściwość określa minimalną dozwoloną wartość procentową próbkowania. |
maxSamplingPercentage | 100,0 | Ponieważ procent próbkowania jest różny, ta właściwość określa maksymalną dozwoloną wartość procentową próbkowania. |
movingAverageRatio | 1.0 | W obliczeniu średniej ruchomej waga przypisana do najnowszej wartości. Użyj wartości równej lub mniejszej niż 1. Mniejsze wartości sprawiają, że algorytm jest mniej reaktywny do nagłych zmian. |
excludedTypes | null | Rozdzielana średnikami lista typów, których nie chcesz próbkować. Rozpoznane typy to: Dependency , , Event , PageView Exception , Request , i Trace . Wszystkie wystąpienia określonych typów są przesyłane; typy, które nie są określone, są próbkowane. |
includedTypes | null | Rozdzielana średnikami lista typów, które mają być próbkowane; pusta lista oznacza wszystkie typy. Typ wymieniony w excludedTypes typach przesłonięcia wymienionych tutaj. Rozpoznane typy to: Dependency , , Event , PageView Exception , Request , i Trace . Wystąpienia określonych typów są próbkowane; typy, które nie są określone lub implikowane, są przesyłane bez próbkowania. |
applicationInsights.httpAutoCollectionOptions
Właściwości | Domyślny | opis |
---|---|---|
enableHttpTriggerExtendedInfoCollection | prawda | Włącza lub wyłącza rozszerzone informacje o żądaniu HTTP dla wyzwalaczy HTTP: nagłówki korelacji żądań przychodzących, obsługa kluczy wielo instrumentacji, metoda HTTP, ścieżka i odpowiedź. |
enableW3CDistributedTracing | prawda | Włącza lub wyłącza obsługę protokołu rozproszonego śledzenia W3C (i włącza starszy schemat korelacji). Włączone domyślnie, jeśli enableHttpTriggerExtendedInfoCollection ma wartość true. Jeśli enableHttpTriggerExtendedInfoCollection ma wartość false, ta flaga dotyczy tylko żądań wychodzących, a nie żądań przychodzących. |
enableResponseHeaderInjection | prawda | Włącza lub wyłącza wstrzykiwanie nagłówków korelacji wieloskładnikowej do odpowiedzi. Włączenie iniekcji umożliwia usłudze Application Insights konstruowanie mapy aplikacji w przypadku użycia kilku kluczy instrumentacji. Włączone domyślnie, jeśli enableHttpTriggerExtendedInfoCollection ma wartość true. To ustawienie nie ma zastosowania, jeśli enableHttpTriggerExtendedInfoCollection ma wartość false. |
applicationInsights.dependencyTrackingOptions
Właściwości | Domyślny | opis |
---|---|---|
enableSqlCommandTextInstrumentation | fałsz | Włącza zbieranie pełnego tekstu zapytań SQL, które jest domyślnie wyłączone. Aby uzyskać więcej informacji na temat zbierania tekstu zapytania SQL, zobacz Zaawansowane śledzenie SQL, aby uzyskać pełne zapytanie SQL. |
applicationInsights.snapshotConfiguration
Aby uzyskać więcej informacji na temat migawek, zobacz Debugowanie migawek dotyczących wyjątków w aplikacjach platformy .NET i Rozwiązywanie problemów z włączaniem debugera migawek usługi Application Insights lub wyświetlaniem migawek.
Właściwości | Domyślny | opis |
---|---|---|
agentEndpoint | null | Punkt końcowy używany do nawiązywania połączenia z usługą Debugger migawki usługi Application Insights. Jeśli wartość null, zostanie użyty domyślny punkt końcowy. |
captureSnapshotMemoryWeight | 0.5 | Waga podana dla bieżącego rozmiaru pamięci procesu podczas sprawdzania, czy jest wystarczająca ilość pamięci do utworzenia migawki. Oczekiwana wartość jest większa niż 0 właściwego ułamka (0 < CaptureSnapshotMemoryWeight < 1). |
failedRequestLimit | 3 | Limit liczby żądań zakończonych niepowodzeniem żądań migawek przed wyłączeniem procesora telemetrii. |
handleUntrackedExceptions | prawda | Włącza lub wyłącza śledzenie wyjątków, które nie są śledzone przez dane telemetryczne usługi Application Insights. |
isEnabled | prawda | Włącza lub wyłącza kolekcję migawek |
isEnabledInDeveloperMode | fałsz | Włącza lub wyłącza zbieranie migawek jest włączone w trybie dewelopera. |
isEnabledWhenProfiling | prawda | Włącza lub wyłącza tworzenie migawek, nawet jeśli profiler usługi Application Insights zbiera szczegółową sesję profilowania. |
isExceptionSnappointsEnabled | fałsz | Włącza lub wyłącza filtrowanie wyjątków. |
isLowPrioritySnapshotUploader | prawda | Określa, czy proces SnapshotUploader ma być uruchamiany poniżej normalnego priorytetu. |
maximumCollectionPlanSize | 50 | Maksymalna liczba problemów, które możemy śledzić w dowolnym momencie w zakresie od jednego do 9999. |
maximumSnapshotsRequired | 3 | Maksymalna liczba migawek zebranych dla pojedynczego problemu w zakresie od jednego do 999. Problem może być uważany za pojedynczą instrukcję throw w aplikacji. Gdy liczba migawek zebranych w przypadku problemu osiągnie tę wartość, nie będą zbierane żadne migawki dla tego problemu, dopóki liczniki problemów nie zostaną zresetowane (zobacz problemCounterResetInterval ) i thresholdForSnapshotting limit zostanie osiągnięty ponownie. |
problemCounterResetInterval | 24:00:00 | Jak często resetować liczniki problemów w zakresie od jednej minuty do siedmiu dni. Po osiągnięciu tego interwału wszystkie liczby problemów są resetowane do zera. Istniejące problemy, które osiągnęły już próg wykonywania migawek, ale nie wygenerowały jeszcze liczby migawek w maximumSnapshotsRequired pliku , pozostają aktywne. |
provideAnonymousTelemetry | prawda | Określa, czy wysyłać anonimowe dane telemetryczne użycia i błędów do firmy Microsoft. Te dane telemetryczne mogą być używane, jeśli skontaktujesz się z firmą Microsoft, aby rozwiązać problemy z debugerem migawki. Służy również do monitorowania wzorców użycia. |
reconnectInterval | 00:15:00 | Jak często łączymy się ponownie z punktem końcowym snapshot Debugger. Dozwolony zakres wynosi od jednej minuty do jednego dnia. |
shadowCopyFolder | null | Określa folder, który ma być używany do kopiowania plików binarnych w tle. Jeśli nie zostanie ustawiona, foldery określone przez następujące zmienne środowiskowe zostaną wypróbowane w następującej kolejności: Fabric_Folder_App_Temp, LOCALAPPDATA, APPDATA, TEMP. |
shareUploaderProcess | prawda | Jeśli to prawda, tylko jedno wystąpienie klasy SnapshotUploader będzie zbierać i przekazywać migawki dla wielu aplikacji, które współużytkują klucz InstrumentationKey. Jeśli ustawiono wartość false, element SnapshotUploader będzie unikatowy dla każdej krotki (ProcessName, InstrumentationKey). |
snapshotInLowPriorityThread | prawda | Określa, czy należy przetwarzać migawki w wątku o niskim priorytcie we/wy. Tworzenie migawki to szybka operacja, ale aby przekazać migawkę do usługi Snapshot Debugger, najpierw należy ją zapisać na dysku jako minidump. Dzieje się tak w procesie SnapshotUploader. Ustawienie tej wartości na wartość true używa operacji we/wy o niskim priorytcie do zapisania minidump, która nie będzie konkurować z aplikacją dla zasobów. Ustawienie tej wartości na wartość false przyspiesza tworzenie minidump kosztem spowolnienia aplikacji. |
snapshotsPerDayLimit | 30 | Maksymalna liczba migawek dozwolonych w ciągu jednego dnia (24 godziny). Ten limit jest również wymuszany po stronie usługi Application Insights. Przekazywanie jest ograniczone do 50 dziennie na aplikację (czyli na klucz instrumentacji). Ta wartość pomaga zapobiec tworzeniu dodatkowych migawek, które zostaną ostatecznie odrzucone podczas przekazywania. Wartość zero całkowicie usuwa limit, który nie jest zalecany. |
snapshotsPerTenMinutesLimit | 1 | Maksymalna liczba migawek dozwolonych w ciągu 10 minut. Mimo że nie ma górnej granicy tej wartości, należy zachować ostrożność, zwiększając ją w przypadku obciążeń produkcyjnych, ponieważ może to mieć wpływ na wydajność aplikacji. Tworzenie migawki jest szybkie, ale utworzenie minidump migawki i przekazanie jej do usługi Snapshot Debugger jest znacznie wolniejszą operacją, która będzie konkurować z aplikacją dla zasobów (zarówno procesora CPU, jak i we/wy). |
folder tempFolder | null | Określa folder do zapisywania minidumps i plików dziennika modułu przekazującego. Jeśli nie zostanie ustawiona, zostanie użyty %TEMP%\Zrzuty . |
thresholdForSnapshotting | 1 | Ile razy usługa Application Insights musi zobaczyć wyjątek, zanim poprosi o migawki. |
uploaderProxy | null | Zastępuje serwer proxy używany w procesie przekazywania migawek. Może być konieczne użycie tego ustawienia, jeśli aplikacja łączy się z Internetem za pośrednictwem serwera proxy. Moduł zbierający migawki jest uruchamiany w ramach procesu aplikacji i będzie używać tych samych ustawień serwera proxy. Jednak moduł przekazujący migawki działa jako oddzielny proces i może być konieczne ręczne skonfigurowanie serwera proxy. Jeśli ta wartość ma wartość null, moduł zbierający migawki podejmie próbę autowykrywania adresu serwera proxy, sprawdzając System.Net.WebRequest.DefaultWebProxy i przekazując wartość do modułu przekazującego migawki. Jeśli ta wartość nie ma wartości null, autodetection nie jest używana, a serwer proxy określony w tym miejscu będzie używany w narzędziu do przekazywania migawek. |
obiekty blob
Ustawienia konfiguracji można znaleźć w temacie Wyzwalacze i powiązania obiektów blob usługi Storage.
console
To ustawienie jest elementem podrzędnym rejestrowania. Steruje rejestrowaniem konsoli, gdy nie jest w trybie debugowania.
{
"logging": {
...
"console": {
"isEnabled": false,
"DisableColors": true
},
...
}
}
Właściwości | Domyślny | opis |
---|---|---|
DisableColors | fałsz | Pomija formatowanie dziennika w dziennikach kontenera w systemie Linux. Ustaw wartość true, jeśli w dziennikach kontenera są wyświetlane niepożądane znaki sterujące ANSI podczas uruchamiania w systemie Linux. |
isEnabled | fałsz | Włącza lub wyłącza rejestrowanie konsoli. |
Azure Cosmos DB
Ustawienia konfiguracji można znaleźć w wyzwalaczach i powiązaniach usługi Azure Cosmos DB.
program customHandler
Ustawienia konfiguracji niestandardowej procedury obsługi. Aby uzyskać więcej informacji, zobacz Niestandardowe programy obsługi usługi Azure Functions.
"customHandler": {
"description": {
"defaultExecutablePath": "server",
"workingDirectory": "handler",
"arguments": [ "--port", "%FUNCTIONS_CUSTOMHANDLER_PORT%" ]
},
"enableForwardingHttpRequest": false
}
Właściwości | Domyślny | opis |
---|---|---|
defaultExecutablePath | nie dotyczy | Plik wykonywalny do uruchomienia jako niestandardowy proces obsługi. Jest to ustawienie wymagane w przypadku używania niestandardowych procedur obsługi, a jego wartość jest względna względem katalogu głównego aplikacji funkcji. |
workingDirectory | katalog główny aplikacji funkcji | Katalog roboczy, w którym należy uruchomić niestandardowy proces obsługi. Jest to ustawienie opcjonalne, a jego wartość jest względna względem katalogu głównego aplikacji funkcji. |
Argumenty | nie dotyczy | Tablica argumentów wiersza polecenia do przekazania do niestandardowego procesu obsługi. |
enableForwardingHttpRequest | fałsz | W przypadku ustawienia wszystkie funkcje składające się tylko z wyzwalacza HTTP i danych wyjściowych HTTP są przekazywane oryginalne żądanie HTTP zamiast ładunku żądania niestandardowego programu obsługi. |
durableTask
Ustawienie konfiguracji można znaleźć w powiązaniach dla rozszerzenia Durable Functions.
współbieżność
Włącza współbieżność dynamiczną dla określonych powiązań w aplikacji funkcji. Aby uzyskać więcej informacji, zobacz Dynamiczna współbieżność.
{
"concurrency": {
"dynamicConcurrencyEnabled": true,
"snapshotPersistenceEnabled": true
}
}
Właściwości | Domyślny | opis |
---|---|---|
dynamicConcurrencyEnabled | fałsz | Włącza dynamiczne zachowania współbieżności dla wszystkich wyzwalaczy obsługiwanych przez tę funkcję, która jest domyślnie wyłączona. |
snapshotPersistenceEnabled | prawda | Poznane wartości współbieżności są okresowo utrwalane w magazynie, więc nowe wystąpienia zaczynają się od tych wartości zamiast od 1 i muszą ponownie przeprowadzić naukę. |
eventHub
Ustawienia konfiguracji można znaleźć w wyzwalaczach i powiązaniach centrum zdarzeń.
extensions
Właściwość zwracająca obiekt zawierający wszystkie ustawienia specyficzne dla powiązania, takie jak http i eventHub.
extensionBundle
Pakiety rozszerzeń umożliwiają dodanie zgodnego zestawu rozszerzeń powiązań usługi Functions do aplikacji funkcji. Aby dowiedzieć się więcej, zobacz Pakiety rozszerzeń na potrzeby programowania lokalnego.
{
"version": "2.0",
"extensionBundle": {
"id": "Microsoft.Azure.Functions.ExtensionBundle",
"version": "[4.0.0, 5.0.0)"
}
}
W zbiorze extensionBundle
są dostępne następujące właściwości:
Właściwości | opis |
---|---|
id |
Przestrzeń nazw zbiorów rozszerzeń usługi Microsoft Azure Functions. |
version |
Zakres wersji pakietu do zainstalowania. Środowisko uruchomieniowe usługi Functions zawsze wybiera maksymalnie dozwoloną wersję zdefiniowaną przez zakres wersji lub interwał. Na przykład version zakres [4.0.0, 5.0.0) wartości zezwala na wszystkie wersje pakietu z wersji 4.0.0 do 5.0.0. Aby uzyskać więcej informacji, zapoznaj się z notacją interwału na potrzeby określania zakresów wersji. |
— funkcje
Lista funkcji uruchamianych przez hosta zadań. Pusta tablica oznacza uruchamianie wszystkich funkcji. Przeznaczone do użytku tylko w przypadku uruchamiania lokalnego. W aplikacjach funkcji na platformie Azure należy zamiast tego wykonać kroki opisane w temacie Jak wyłączyć funkcje w usłudze Azure Functions , aby wyłączyć określone funkcje, a nie używać tego ustawienia.
{
"functions": [ "QueueProcessor", "GitHubWebHook" ]
}
functionTimeout
Wskazuje czas trwania przekroczenia limitu czasu dla wszystkich wykonań funkcji. Jest zgodny z formatem ciągu przedziału czasu.
Typ planu | Wartość domyślna (min) | Maksymalna (min) |
---|---|---|
Zużycie | 5 | 10 |
Premium1 | 30 | -1 (bez ruchu)2 |
Dedykowane (App Service) | 30 | -1 (bez ruchu)2 |
1 Wykonanie planu Premium jest gwarantowane tylko przez 60 minut, ale technicznie bez ograniczeń.
2 Wartość -1
wskazuje niezwiązane wykonanie, ale zalecane jest zachowanie stałej górnej granicy.
{
"functionTimeout": "00:05:00"
}
healthMonitor
Ustawienia konfiguracji monitora kondycji hosta.
{
"healthMonitor": {
"enabled": true,
"healthCheckInterval": "00:00:10",
"healthCheckWindow": "00:02:00",
"healthCheckThreshold": 6,
"counterThreshold": 0.80
}
}
Właściwości | Domyślny | opis |
---|---|---|
enabled | prawda | Określa, czy funkcja jest włączona. |
healthCheckInterval | 10 sekund | Przedział czasu między okresowymi kontrolami kondycji w tle. |
healthCheckWindow | 2 minuty | Przesuwane okno czasowe używane w połączeniu z ustawieniem healthCheckThreshold . |
healthCheckThreshold | 6 | Maksymalna liczba przypadków niepowodzenia sprawdzania kondycji przed zainicjowaniem recyklingu hosta. |
counterThreshold | 0.80 | Próg, przy którym licznik wydajności zostanie uznany za w złej kondycji. |
http
Ustawienia konfiguracji można znaleźć w wyzwalaczach i powiązaniach http.
rejestrowanie
Steruje zachowaniami rejestrowania aplikacji funkcji, w tym usługą Application Insights.
"logging": {
"fileLoggingMode": "debugOnly",
"logLevel": {
"Function.MyFunction": "Information",
"default": "None"
},
"console": {
...
},
"applicationInsights": {
...
}
}
Właściwości | Domyślny | opis |
---|---|---|
fileLoggingMode | debugonly | Określa zachowanie rejestrowania plików podczas uruchamiania na platformie Azure. Opcje to never , always i debugOnly . To ustawienie nie jest używane podczas uruchamiania lokalnego. Jeśli to możliwe, podczas debugowania funkcji na platformie Azure należy użyć usługi Application Insights. Użycie always negatywnego wpływu na zachowanie aplikacji podczas zimnego uruchamiania i przepływność danych. Ustawienie domyślne debugOnly generuje pliki dziennika podczas debugowania przy użyciu witryny Azure Portal. |
logLevel | nie dotyczy | Obiekt definiujący filtrowanie kategorii dzienników dla funkcji w aplikacji. To ustawienie umożliwia filtrowanie rejestrowania dla określonych funkcji. Aby uzyskać więcej informacji, zobacz Konfigurowanie poziomów dziennika. |
console | nie dotyczy | Ustawienie rejestrowania konsoli . |
applicationInsights | nie dotyczy | Ustawienie applicationInsights . |
managedDependency
Zależność zarządzana to funkcja, która jest obecnie obsługiwana tylko w przypadku funkcji opartych na programie PowerShell. Umożliwia ona automatyczne zarządzanie zależnościami przez usługę. Gdy właściwość jest ustawiona enabled
na true
, requirements.psd1
plik jest przetwarzany. Zależności są aktualizowane po wydaniu wszystkich wersji pomocniczych. Aby uzyskać więcej informacji, zobacz Zarządzana zależność w artykule dotyczącym programu PowerShell.
{
"managedDependency": {
"enabled": true
}
}
kolejki
Ustawienia konfiguracji można znaleźć w temacie Wyzwalacze i powiązania kolejki usługi Storage.
sendGrid
Ustawienie konfiguracji można znaleźć w wyzwalaczach i powiązaniach usługi SendGrid.
serviceBus
Ustawienie konfiguracji można znaleźć w wyzwalaczach i powiązaniach usługi Service Bus.
Singleton
Ustawienia konfiguracji zachowania pojedynczej blokady. Aby uzyskać więcej informacji, zobacz Problem z usługą GitHub dotyczący obsługi pojedynczej wersji.
{
"singleton": {
"lockPeriod": "00:00:15",
"listenerLockPeriod": "00:01:00",
"listenerLockRecoveryPollingInterval": "00:01:00",
"lockAcquisitionTimeout": "00:01:00",
"lockAcquisitionPollingInterval": "00:00:03"
}
}
Właściwości | Domyślny | opis |
---|---|---|
lockPeriod | 00:00:15 | Okres, dla którego są pobierane blokady poziomu funkcji. Blokady są automatycznie odnawiane. |
listenerLockPeriod | 00:01:00 | Okres, dla którego są pobierane blokady odbiornika. |
listenerLockRecoveryPollingInterval | 00:01:00 | Interwał czasu używany do odzyskiwania blokady odbiornika, jeśli nie można uzyskać blokady odbiornika podczas uruchamiania. |
lockAcquisitionTimeout | 00:01:00 | Maksymalny czas próby uzyskania blokady przez środowisko uruchomieniowe. |
lockAcquisitionPollingInterval | nie dotyczy | Interwał między próbami uzyskania blokady. |
telemetryMode
Ta funkcja jest obecnie dostępna w wersji zapoznawczej.
Służy do włączania danych wyjściowych dzienników i śladów w formacie danych wyjściowych OpenTelemetry do co najmniej jednego punktu końcowego obsługującego funkcję OpenTelemetry. Gdy to ustawienie jest ustawione na OpenTelemetry
wartość , używane są dane wyjściowe OpenTelemetry. Domyślnie bez tego ustawienia wszystkie dzienniki, ślady i zdarzenia są wysyłane do usługi Application Insights przy użyciu standardowych danych wyjściowych. Aby uzyskać więcej informacji, zobacz Use OpenTelemetry with Azure Functions (Używanie biblioteki OpenTelemetry z usługą Azure Functions).
version
Ta wartość wskazuje wersję schematu host.json. Ciąg "version": "2.0"
wersji jest wymagany dla aplikacji funkcji przeznaczonej dla środowiska uruchomieniowego w wersji 2 lub nowszej. Między wersjami 2 i v3 nie ma żadnych zmian schematu host.json.
watchDirectories
Zestaw udostępnionych katalogów kodu, które powinny być monitorowane pod kątem zmian. Gwarantuje, że po zmianie kodu w tych katalogach zmiany są pobierane przez funkcje.
{
"watchDirectories": [ "Shared" ]
}
watchFiles
Tablica co najmniej jednej nazwy plików monitorowanych pod kątem zmian, które wymagają ponownego uruchomienia aplikacji. Gwarantuje to, że po zmianie kodu w tych plikach aktualizacje są pobierane przez funkcje.
{
"watchFiles": [ "myFile.txt" ]
}
Zastępowanie wartości host.json
Mogą istnieć wystąpienia, w których chcesz skonfigurować lub zmodyfikować określone ustawienia w pliku host.json dla określonego środowiska bez zmiany samego pliku host.json. Określone wartości host.json można zastąpić, tworząc równoważną wartość jako ustawienie aplikacji. Gdy środowisko uruchomieniowe znajdzie ustawienie aplikacji w formacie AzureFunctionsJobHost__path__to__setting
, zastępuje równoważne ustawienie host.json znajdujące się w path.to.setting
pliku JSON. W przypadku wyrażenia jako ustawienia aplikacji kropka (.
) używana do wskazania hierarchii JSON jest zastępowana podwójnym podkreśleniem (__
).
Załóżmy na przykład, że chcesz wyłączyć próbkowanie usługi Application Insights podczas uruchamiania lokalnego. Jeśli plik host.json lokalnego został zmieniony tak, aby wyłączyć usługę Application Insights, ta zmiana może zostać wypchnięta do aplikacji produkcyjnej podczas wdrażania. Bezpieczniejszym sposobem, aby to zrobić, jest utworzenie ustawienia aplikacji tak jak "AzureFunctionsJobHost__logging__applicationInsights__samplingSettings__isEnabled":"false"
w local.settings.json
pliku. Można to zobaczyć w następującym local.settings.json
pliku, który nie zostanie opublikowany:
{
"IsEncrypted": false,
"Values": {
"AzureWebJobsStorage": "{storage-account-connection-string}",
"FUNCTIONS_WORKER_RUNTIME": "{language-runtime}",
"AzureFunctionsJobHost__logging__applicationInsights__samplingSettings__isEnabled":"false"
}
}
Zastępowanie ustawień host.json przy użyciu zmiennych środowiskowych jest zgodne z konwencjami nazewnictwa ASP.NET Core. Gdy struktura elementu zawiera tablicę, indeks tablicy liczbowej powinien być traktowany jako dodatkowa nazwa elementu w tej ścieżce. Aby uzyskać więcej informacji, zobacz Nazewnictwo zmiennych środowiskowych.