Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Important
Wsparcie dla wersji 1.x środowiska Azure Functions zakończyło się 14 września 2026 roku. Aby uzyskać pełną pomoc techniczną, przeprowadź migrację aplikacji do wersji 4.x.
Plik metadanych host.json zawiera opcje konfiguracji, które mają wpływ na wszystkie funkcje w wystąpieniu aplikacji funkcji. W tym artykule wymieniono ustawienia dostępne dla środowiska uruchomieniowego w wersji 1.x. Schemat JSON znajduje się pod http://json.schemastore.org/host.
Uwaga
Ten artykuł zachowuje host.json odniesienie dla Azure Functions runtime 1.x. Inne informacje historyczne można znaleźć w referencji o dziedzictwie runtime 1.x. Dla aktualnego host.json odniesienia, zobacz host.json odniesienie Azure Functions 2.x i nowszych.
Inne opcje konfiguracji funkcji aplikacji są zarządzane w ustawieniach aplikacji.
Niektóre ustawienia host.json są używane tylko podczas lokalnego wykonywania w pliku local.settings.json.
Przykładowy plik host.json
Następujące przykładowe pliki host.json mają określone wszystkie możliwe opcje.
{
"aggregator": {
"batchSize": 1000,
"flushTimeout": "00:00:30"
},
"applicationInsights": {
"sampling": {
"isEnabled": true,
"maxTelemetryItemsPerSecond" : 5
}
},
"documentDB": {
"connectionMode": "Gateway",
"protocol": "Https",
"leaseOptions": {
"leasePrefix": "prefix"
}
},
"eventHub": {
"maxBatchSize": 64,
"prefetchCount": 256,
"batchCheckpointFrequency": 1
},
"functions": [ "QueueProcessor", "GitHubWebHook" ],
"functionTimeout": "00:05:00",
"healthMonitor": {
"enabled": true,
"healthCheckInterval": "00:00:10",
"healthCheckWindow": "00:02:00",
"healthCheckThreshold": 6,
"counterThreshold": 0.80
},
"http": {
"routePrefix": "api",
"maxOutstandingRequests": 20,
"maxConcurrentRequests": 10,
"dynamicThrottlesEnabled": false
},
"id": "9f4ea53c5136457d883d685e57164f08",
"logger": {
"categoryFilter": {
"defaultLevel": "Information",
"categoryLevels": {
"Host": "Error",
"Function": "Error",
"Host.Aggregator": "Information"
}
}
},
"queues": {
"maxPollingInterval": 2000,
"visibilityTimeout" : "00:00:30",
"batchSize": 16,
"maxDequeueCount": 5,
"newBatchThreshold": 8
},
"sendGrid": {
"from": "Contoso Group <admin@contoso.com>"
},
"serviceBus": {
"maxConcurrentCalls": 16,
"prefetchCount": 100,
"autoRenewTimeout": "00:05:00",
"autoComplete": true
},
"singleton": {
"lockPeriod": "00:00:15",
"listenerLockPeriod": "00:01:00",
"listenerLockRecoveryPollingInterval": "00:01:00",
"lockAcquisitionTimeout": "00:01:00",
"lockAcquisitionPollingInterval": "00:00:03"
},
"tracing": {
"consoleLevel": "verbose",
"fileLoggingMode": "debugOnly"
},
"watchDirectories": [ "Shared" ],
}
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łasność | Domyślny | opis |
|---|---|---|
batchSize |
1000 | Maksymalna liczba żądań do agregowania. |
flushTimeout |
00:00:30 | Maksymalny czas agregowania. |
Wywołania funkcji są agregowane, gdy osiągnięto pierwszy z tych dwóch limitów.
Wgląd w aplikacje
Steruje funkcją próbkowania w usłudze Application Insights.
{
"applicationInsights": {
"sampling": {
"isEnabled": true,
"maxTelemetryItemsPerSecond" : 5
}
}
}
| Własność | Domyślny | opis |
|---|---|---|
isEnabled |
prawda | Włącza lub wyłącza próbkowanie. |
maxTelemetryItemsPerSecond |
5 | Próg, na którym rozpoczyna się próbkowanie. |
DocumentDB
Ustawienia konfiguracji wyzwalacza i powiązań dla Azure Cosmos DB.
{
"documentDB": {
"connectionMode": "Gateway",
"protocol": "Https",
"leaseOptions": {
"leasePrefix": "prefix1"
}
}
}
| Własność | Domyślny | opis |
|---|---|---|
| GatewayMode | Brama | Tryb połączenia używany przez funkcję podczas nawiązywania połączenia z usługą Azure Cosmos DB. Opcje to Direct i Gateway |
| Protokół | Https | Protokół połączenia używany przez funkcję podczas nawiązywania połączenia z usługą Azure Cosmos DB. Przeczytaj tutaj, aby uzyskać wyjaśnienie obu trybów |
| prefiks wynajmu | nie dotyczy | Prefiks "lease" do stosowania we wszystkich funkcjach aplikacji. |
trwałe zadanie
Ustawienia konfiguracji Durable Functions.
W Azure Functions runtime 1.x durableTask sekcja znajduje się u podstawy pliku host.json. Dostępne ustawienia zależą od wersji rozszerzenia Durable Functions. Aktualne odniesienie konfiguracyjne można znaleźć w Durable Functions host.json ustawieniach.
eventHub
Ustawienia konfiguracyjne dla wyzwalaczy i powiązań Event Hub.
— funkcje
Lista funkcji uruchamianych przez hosta zadań. Pusta tablica oznacza uruchomienie wszystkich funkcji. Przeznaczone do użytku tylko w przypadku uruchamiania lokalnego. W aplikacjach funkcji w Azure należy wykonać kroki opisane w 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 funkcji. W planie użycia bezserwerowego prawidłowy zakres wynosi od 1 sekundy do 10 minut, a wartość domyślna to 5 minut. W planie usługi App Service nie ma ogólnego limitu, a wartość domyślna ma wartość null, co oznacza brak limitu czasu.
{
"functionTimeout": "00:05:00"
}
monitor zdrowia
Ustawienia konfiguracyjne dla monitora stanu zdrowia Host.
{
"healthMonitor": {
"enabled": true,
"healthCheckInterval": "00:00:10",
"healthCheckWindow": "00:02:00",
"healthCheckThreshold": 6,
"counterThreshold": 0.80
}
}
| Własność | Domyślny | opis |
|---|---|---|
| włączony | prawda | Określa, czy funkcja jest włączona. |
| interwałSprawdzaniaStanuZdrowia | 10 sekund | Przedział czasu między okresowymi badaniami stanu zdrowia w tle. |
| oknoKontroliZdrowia | 2 minuty | Przesuwane okno czasowe używane z ustawieniem healthCheckThreshold . |
| prógSprawdzeniaZdrowia | 6 | Maksymalna liczba niepowodzeń w sprawdzaniu kondycji przed ponownym uruchomieniem hosta. |
| próg licznika | 0.80 | Próg, przy którym licznik wydajności zostanie uznany za niezdrowy. |
http
Ustawienia konfiguracji wyzwalaczy i wiązań HTTP.
{
"http": {
"routePrefix": "api",
"maxOutstandingRequests": 200,
"maxConcurrentRequests": 100,
"dynamicThrottlesEnabled": true
}
}
| Własność | Domyślny | opis |
|---|---|---|
| dynamiczneOgraniczeniaAktywne | fałsz | Po włączeniu tego ustawienia to ustawienie powoduje, że potok przetwarzania żądań okresowo sprawdza liczniki wydajności systemu, takie jak połączenia/wątki/procesy/pamięć/procesor/itp., a jeśli którykolwiek z tych liczników przekracza wbudowany wysoki próg (80%), żądania są odrzucane z odpowiedzią 429 "Zbyt zajęta", dopóki liczniki nie powrócą do normalnych poziomów. |
| maksymalnaLiczbaRównoczesnychŻądań | nieograniczony (-1) |
Maksymalna liczba funkcji HTTP, które będą wykonywane równolegle. Pozwala to kontrolować współbieżność, co może pomóc w zarządzaniu wykorzystaniem zasobów. Na przykład może istnieć funkcja HTTP, która używa dużej ilości zasobów systemowych (pamięci/procesora/gniazd), tak aby powodowała problemy, gdy współbieżność jest zbyt wysoka. Możesz też mieć funkcję, która wysyła żądania wychodzące do usługi innej firmy, i te wywołania muszą być z ograniczeniami prędkości. W takich przypadkach może pomóc zastosowanie ograniczania przepustowości. |
| MaxLiczbaOtwartychŻądań | nieograniczony (-1) |
Maksymalna liczba zaległych żądań, które są przechowywane w danym momencie. Limit ten obejmuje żądania, które są kolejkowane, ale nie zostały uruchomione, oraz wszelkie trwające wykonania. Wszystkie żądania przychodzące powyżej tego limitu są odrzucane z odpowiedzią 429 "Zbyt zajęta". Dzięki temu osoby wywołujące mogą używać strategii ponawiania prób opartych na czasie, a także pomaga kontrolować maksymalne opóźnienia żądań. To kontroluje tylko kolejkowanie, które ma miejsce w ścieżce wykonywania hosta skryptu. Inne kolejki, takie jak kolejka żądań ASP.NET, będą nadal obowiązywać i nie będą miały wpływu na to ustawienie. |
| PrefiksTrasy | API (Interfejs Programowania Aplikacji) | Prefiks trasy, który ma zastosowanie do wszystkich tras. Użyj pustego ciągu, aby usunąć prefiks domyślny. |
identyfikator
Unikalny identyfikator hosta zadań. Może być zapisany małymi literami identyfikator GUID z usuniętymi kreskami. Wymagane przy uruchamianiu lokalnym. Podczas uruchamiania w Azure zalecamy, aby nie ustawiać wartości identyfikatora. Identyfikator jest generowany automatycznie w Azure, gdy pominięto id.
Jeśli udostępniasz konto usługi Storage w wielu aplikacjach funkcjonalnych, upewnij się, że każda aplikacja ma inny id. Możesz pominąć właściwość id lub ręcznie ustawić dla każdej aplikacji funkcjonalnej id inną wartość. Wyzwalacz czasomierza używa blokady magazynowej, aby upewnić się, że będzie tylko jedno wystąpienie czasomierza, gdy aplikacja funkcji zostanie rozproszona na wiele instancji. Jeśli dwie aplikacje funkcji współdzielą tę samą id i każda z nich używa wyzwalacza czasowego, uruchamia się tylko jeden czasomierz.
{
"id": "9f4ea53c5136457d883d685e57164f08"
}
rejestrator
Steruje filtrowaniem dzienników napisanych przez obiekt ILogger lub context.log.
{
"logger": {
"categoryFilter": {
"defaultLevel": "Information",
"categoryLevels": {
"Host": "Error",
"Function": "Error",
"Host.Aggregator": "Information"
}
}
}
}
| Własność | Domyślny | opis |
|---|---|---|
| Filtr kategorii | nie dotyczy | Określa filtrowanie według kategorii |
| domyślny poziom | Informacja | W przypadku wszystkich kategorii, które nie zostały określone w tablicy categoryLevels , wyślij dzienniki na tym poziomie i powyżej do usługi Application Insights. |
| poziomyKategorii | nie dotyczy | Tablica kategorii, która określa minimalny poziom dziennika do wysłania do usługi Application Insights dla każdej kategorii. Kategoria określona tutaj steruje wszystkimi kategoriami, które zaczynają się od tej samej wartości, a dłuższe wartości mają pierwszeństwo. W poprzednim przykładowym pliku host.json wszystkie kategorie rozpoczynające się od "Host.Aggregator" logują na poziomie Information. Wszystkie inne kategorie rozpoczynające się od "Host", takie jak "Host.Executor", rejestrują się na Error poziomie. |
kolejki
Ustawienia dla wyzwalaczy i powiązań kolejki Storage.
{
"queues": {
"maxPollingInterval": 2000,
"visibilityTimeout" : "00:00:30",
"batchSize": 16,
"maxDequeueCount": 5,
"newBatchThreshold": 8
}
}
| Własność | Domyślny | opis |
|---|---|---|
| maksymalny interwał sondowania | 60000 | Maksymalny interwał w milisekundach między odpytywaniami kolejki. |
| visibilityTimeout (limit czasu widoczności) | 0 | Interwał czasu między ponowną próbą w przypadku niepowodzenia przetwarzania komunikatu. |
| batchSize (rozmiar wsadu) | 16 | Liczba komunikatów kolejki jednocześnie pobieranych i przetwarzanych równolegle przez środowisko uruchomieniowe usługi Functions. Gdy przetwarzana liczba zmniejsza się do newBatchThreshold, środowisko wykonawcze otrzymuje kolejną partię i rozpoczyna przetwarzanie tych komunikatów. Dlatego maksymalna liczba przetwarzanych współbieżnych komunikatów na funkcję to batchSize plus newBatchThreshold. Ograniczenie to ma zastosowanie oddzielnie do każdej funkcji wyzwalanej przez kolejkę. Jeśli chcesz uniknąć równoległego wykonywania komunikatów odebranych w jednej kolejce, możesz ustawić wartość batchSize 1. Jednak to ustawienie eliminuje współbieżność tylko tak długo, jak aplikacja funkcji działa na jednej maszynie wirtualnej. Jeśli aplikacja funkcji rozszerza się do wielu maszyn wirtualnych, każda maszyna wirtualna może uruchomić jedno wystąpienie każdej funkcji wyzwalanej przez kolejkę.Maksymalna wartość batchSize to 32. |
| maxDequeueCount | 5 | Liczba prób przetworzenia komunikatu przed przeniesieniem go do kolejki trucizny. |
| newBatchThreshold | batchSize/2 | Za każdym razem, gdy liczba przetwarzanych jednocześnie komunikatów spadnie do tej liczby, środowisko uruchomieniowe pobiera kolejną partię. |
SendGrid
Ustawienie konfiguracji wiązania wyjścia SendGrid.
{
"sendGrid": {
"from": "Contoso Group <admin@contoso.com>"
}
}
| Własność | Domyślny | opis |
|---|---|---|
| z | nie dotyczy | Adres e-mail nadawcy używany we wszystkich funkcjach. |
serviceBus
Ustawienia konfiguracji dla wyzwalaczy i wiązań Service Bus.
{
"serviceBus": {
"maxConcurrentCalls": 16,
"prefetchCount": 100,
"autoRenewTimeout": "00:05:00",
"autoComplete": true
}
}
| Własność | Domyślny | opis |
|---|---|---|
| maksymalna liczba równoczesnych połączeń | 16 | Maksymalna liczba współbieżnych wywołań zwrotnych, które powinna zainicjować pompa wiadomości. Domyślnie środowisko uruchomieniowe usługi Functions przetwarza wiele komunikatów jednocześnie. Aby skierować środowisko uruchomieniowe do przetwarzania tylko pojedynczej wiadomości z kolejki lub tematu w danym momencie, ustaw wartość maxConcurrentCalls na 1. |
| prefetchCount | nie dotyczy | Domyślny parametr PrefetchCount, który będzie używany przez podstawowy odbiornik ServiceBusReceiver. |
| autoRenewTimeout | 00:05:00 | Maksymalny czas trwania, w którym blokada komunikatu zostanie odnowiona automatycznie. |
| autouzupełnianie | prawda | Gdy wartość true, wyzwalacz automatycznie ukończy przetwarzanie komunikatów po pomyślnym wykonaniu operacji. W przypadku wartości false funkcja ma obowiązek ukończenia komunikatu przed zwróceniem. |
pojedyncze
Ustawienia konfiguracji zachowania blokady Singleton. Aby uzyskać więcej informacji, zobacz GitHub issue dotyczący obsługi singletonów.
{
"singleton": {
"lockPeriod": "00:00:15",
"listenerLockPeriod": "00:01:00",
"listenerLockRecoveryPollingInterval": "00:01:00",
"lockAcquisitionTimeout": "00:01:00",
"lockAcquisitionPollingInterval": "00:00:03"
}
}
| Własność | Domyślny | opis |
|---|---|---|
| okres blokady | 00:00:15 | Okres, przez który są utrzymywane blokady poziomu funkcji. Zamki są automatycznie odnawiane. |
| Okres blokady słuchacza | 00:01:00 | Okres, na jaki zakładane są blokady odbiornika. |
| Interwał sondowania odzyskiwania blokady słuchacza | 00:01:00 | Interwał czasu używany do odzyskiwania blokady odbiornika, jeśli nie można uzyskać blokady odbiornika podczas uruchamiania. |
| limit czasu na przejęcie blokady | 00:01:00 | Maksymalny czas, przez jaki środowisko uruchomieniowe próbuje uzyskać blokadę. |
| lockAcquisitionPollingInterval | nie dotyczy | Interwał między próbami uzyskania blokady. |
śledzenie
Wersja 1.x
Ustawienia konfiguracji dzienników tworzonych przy użyciu TraceWriter obiektu. Aby dowiedzieć się więcej, zobacz [Rejestrowanie w języku C#].
{
"tracing": {
"consoleLevel": "verbose",
"fileLoggingMode": "debugOnly"
}
}
| Własność | Domyślny | opis |
|---|---|---|
| poziom konsoli | informacje | Poziom śledzenia dla logowania konsoli. Opcje to: off, error, warning, info i verbose. |
| trybLogowaniaPlików | debugonly | Poziom śledzenia logowania plików. Opcje to never, always, debugOnly. |
monitorujKatalogi
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ą wykrywane przez funkcje.
{
"watchDirectories": [ "Shared" ]
}