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 Azure Functions.
Uwaga
Ten artykuł dotyczy Azure Functions wersji 2.x i nowszych. Aby zapoznać się z dokumentacją pliku host.json w usłudze Functions 1.x, zobacz dokumentację pliku host.json dla 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 pliku host.json powiązane z powiązaniami są stosowane równie do każdej funkcji w aplikacji funkcji.
Ustawienia można również przesłonić lub zastosować w każdym środowisku 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": "[1.*, 2.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" ]
}
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ść | Domyślny | Opis |
---|---|---|
batchSize | 1000 | Maksymalna liczba żądań do agregacji. |
flushTimeout | 00:00:30 | Maksymalny okres do zagregowania. |
Wywołania funkcji są agregowane po osiągnięciu pierwszego z dwóch limitów.
applicationInsights
To ustawienie jest elementem podrzędnym rejestrowania.
Opcje kontrolek dla usługi Application Insights, w tym opcje próbkowania.
Aby uzyskać pełną strukturę JSON, zobacz wcześniej 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ść | Domyślny | Opis |
---|---|---|
samplingSettings | n/d | Zobacz applicationInsights.samplingSettings. |
dependencyTrackingOptions | n/d | Zobacz applicationInsights.dependencyTrackingOptions. |
enableLiveMetrics | true | Włącza zbieranie metryk na żywo. |
enableDependencyTracking | true | Włącza śledzenie zależności. |
enablePerformanceCountersCollection | true | Włącza zbieranie liczników wydajności kudu. |
liveMetricsInitializationDelay | 00:00:15 | Tylko do użytku wewnętrznego. |
httpAutoCollectionOptions | n/d | Zobacz applicationInsights.httpAutoCollectionOptions. |
snapshotConfiguration | n/d | 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ść | Domyślny | Opis |
---|---|---|
Isenabled | true | 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 częstotliwość telemetrii. Ocena jest wykonywana jako średnia ruchoma. Możesz skrócić ten interwał, jeśli dane telemetryczne mogą powodować nagłe wzrosty. |
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 w celu przechwycenia większej ilości 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. Wpisz wymienione tutaj excludedTypes typy przesłonięć. 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ść | Domyślny | Opis |
---|---|---|
enableHttpTriggerExtendedInfoCollection | true | 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 | true | Włącza lub wyłącza obsługę protokołu śledzenia rozproszonego W3C (i włącza starszy schemat korelacji). Włączone domyślnie, jeśli enableHttpTriggerExtendedInfoCollection ma wartość true. Jeśli enableHttpTriggerExtendedInfoCollection jest to fałsz, ta flaga dotyczy tylko żądań wychodzących, a nie żądań przychodzących. |
enableResponseHeaderInjection | true | Włącza lub wyłącza wstrzykiwanie nagłówków korelacji z wieloma składnikami 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ść | 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 migawki usługi Application Insights lub wyświetlaniem migawek.
Właściwość | Domyślny | Opis |
---|---|---|
agentEndpoint | null | Punkt końcowy używany do nawiązywania połączenia z usługą Application Insights Snapshot Debugger. Jeśli ma wartość null, zostanie użyty domyślny punkt końcowy. |
captureSnapshotMemoryWeight | 0,5 | Waga podana do bieżącego rozmiaru pamięci procesu podczas sprawdzania, czy jest wystarczająca ilość pamięci do utworzenia migawki. Oczekiwana wartość to większa niż 0 odpowiedni ułamek (0 < CaptureSnapshotMemoryWeight < 1). |
failedRequestLimit | 3 | Limit liczby żądań zakończonych niepowodzeniem żądań migawek przed wyłączeniem procesora telemetrii. |
handleUntrackedExceptions | true | Włącza lub wyłącza śledzenie wyjątków, które nie są śledzone przez dane telemetryczne usługi Application Insights. |
Isenabled | true | Włącza lub wyłącza kolekcję migawek |
isEnabledInDeveloperMode | fałsz | Włącza lub wyłącza zbieranie migawek jest włączone w trybie dewelopera. |
isEnabledWhenProfiling | true | 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 | true | Określa, czy należy uruchomić proces SnapshotUploader 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 dla problemu osiągnie tę wartość, nie będą zbierane żadne migawki dla tego problemu, dopóki liczniki problemów nie zostaną zresetowane (zobacz problemCounterResetInterval ), a 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 jeszcze nie wygenerowały liczby migawek w maximumSnapshotsRequired programie , pozostają aktywne. |
provideAnonymousTelemetry | true | Określa, czy wysyłać anonimowe dane telemetryczne użycia i błędów do firmy Microsoft. Ta telemetria może być używana, 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 to 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 są sprawdzane w kolejności: Fabric_Folder_App_Temp, LOCALAPPDATA, APPDATA, TEMP. |
shareUploaderProcess | true | Jeśli ma wartość true, tylko jedno wystąpienie elementu 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 | true | 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, należy najpierw zapisać ją na dysku jako minidump. Dzieje się tak w procesie SnapshotUploader. Ustawienie tej wartości na wartość true używa operacji we/wy o niskim priorytetzie 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 ostatecznie zostaną odrzucone podczas przekazywania. Wartość zero powoduje całkowite usunięcie limitu, 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ść, aby zwiększyć ją na obciążenia produkcyjne, 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 to znacznie wolniejsza operacja, 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żyta wartość %TEMP%\Zrzuty . |
thresholdForSnapshotting | 1 | Ile razy usługa Application Insights musi zobaczyć wyjątek przed wyświetleniem monitu 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ł przekazywania migawek jest uruchamiany jako osobny 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 tutaj zostanie użyty w narzędziu do przekazywania migawek. |
Bloków blob
Ustawienia konfiguracji można znaleźć w temacie Storage blob triggers and bindings (Wyzwalacze i powiązania obiektu 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ść | Domyślny | Opis |
---|---|---|
DisableColors | fałsz | Pomija formatowanie dziennika w dziennikach kontenera w systemie Linux. Ustaw wartość true, jeśli podczas uruchamiania w systemie Linux są wyświetlane niepożądane znaki kontrolki ANSI w dziennikach kontenera. |
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 Azure Functions niestandardowych procedur obsługi.
"customHandler": {
"description": {
"defaultExecutablePath": "server",
"workingDirectory": "handler",
"arguments": [ "--port", "%FUNCTIONS_CUSTOMHANDLER_PORT%" ]
},
"enableForwardingHttpRequest": false
}
Właściwość | Domyślny | Opis |
---|---|---|
defaultExecutablePath | n/d | Plik wykonywalny do uruchomienia jako niestandardowy proces obsługi. Jest to ustawienie wymagane podczas korzystania z niestandardowych procedur obsługi, a jej 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 | n/d | 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, a dane wyjściowe HTTP są przekazywane do oryginalnego żądania HTTP zamiast niestandardowego ładunku żądania obsługi. |
durableTask
Ustawienie konfiguracji można znaleźć w powiązaniach dla Durable Functions.
współbieżność
Umożliwia dynamiczną współbieżność dla określonych powiązań w aplikacji funkcji. Aby uzyskać więcej informacji, zobacz Dynamiczne współbieżność.
{
"concurrency": {
"dynamicConcurrencyEnabled": true,
"snapshotPersistenceEnabled": true
}
}
Właściwość | 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 | true | 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": "[3.3.0, 4.0.0)"
}
}
W programie extensionBundle
są dostępne następujące właściwości:
Właściwość | Opis |
---|---|
identyfikator | Przestrzeń nazw dla pakietów rozszerzeń microsoft Azure Functions. |
Wersja | Wersja pakietu do zainstalowania. Środowisko uruchomieniowe usługi Functions zawsze wybiera maksymalną dozwoloną wersję zdefiniowaną przez zakres wersji lub interwał. Wartość wersji powyżej zezwala na wszystkie wersje pakietu z wersji 3.3.0 do nowszej, ale nie uwzględniając wersji 4.0.0. Aby uzyskać więcej informacji, zobacz notację interwału określającą zakresy wersji. |
— funkcje
Lista funkcji uruchamianych przez hosta zadania. Pusta tablica oznacza uruchamianie wszystkich funkcji. Przeznaczony 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 Azure Functions, aby wyłączyć określone funkcje zamiast używać tego ustawienia.
{
"functions": [ "QueueProcessor", "GitHubWebHook" ]
}
functionTimeout
Wskazuje czas trwania limitu czasu dla wszystkich wykonań funkcji. Jest zgodny z formatem ciągu przedziału czasu.
Typ planu | Wartość domyślna (min) | Maksimum (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ść oznacza -1
niezwiązane wykonanie, ale zaleca się 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ść | Domyślny | Opis |
---|---|---|
enabled | true | Określa, czy funkcja jest włączona. |
healthCheckInterval | 10 sekund | Przedział czasu między okresowymi kontrolami kondycji w tle. |
healthCheckWindow | 2 minuty | Przesuwane przedziały czasu 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 będący w złej kondycji. |
http
Ustawienia konfiguracji można znaleźć w wyzwalaczach http i powiązaniach.
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ść | Domyślny | Opis |
---|---|---|
fileLoggingMode | debugonly | Określa, jaki poziom rejestrowania plików jest włączony. Opcje to never , , debugOnly always . |
Loglevel | n/d | 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 | n/d | Ustawienie rejestrowania konsoli . |
applicationInsights | n/d | 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
wartość , requirements.psd1
plik jest przetwarzany. Zależności są aktualizowane po wydaniu wszystkich wersji pomocniczych. Aby uzyskać więcej informacji, zobacz Zależność zarządzana w artykule dotyczącym programu PowerShell.
{
"managedDependency": {
"enabled": true
}
}
Kolejek
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 dotyczące 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ść | Domyślny | Opis |
---|---|---|
lockPeriod | 00:00:15 | Okres, dla którego są blokowane poziomy funkcji. Blokady są automatycznie odnawiane. |
listenerLockPeriod | 00:01:00 | Okres, dla którego są blokowane odbiorniki. |
listenerLockRecoveryPollingInterval | 00:01:00 | Interwał czasu używany do odzyskiwania blokady odbiornika, jeśli podczas uruchamiania nie można uzyskać blokady odbiornika. |
lockAcquisitionTimeout | 00:01:00 | Maksymalny czas próby uzyskania blokady przez środowisko uruchomieniowe. |
lockAcquisitionPollingInterval | n/d | Interwał między próbami pozyskiwania blokady. |
Wersja
Ta wartość wskazuje wersję schematu pliku 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 zmian schematu host.json.
watchDirectories
Zestaw katalogów kodu udostępnionego , 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. 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 przez podwójne podkreślenie (__
).
Załóżmy na przykład, że chcesz wyłączyć próbkowanie usługi Application Insights podczas uruchamiania lokalnego. Jeśli zmieniono lokalny plik host.json, 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 jest publikowany:
{
"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.