Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
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ł dotyczy usługi Azure Functions 1.x. Aby zapoznać się z referencją host.json dotyczącej Funkcji 2.x i nowszych, zobacz Referencja host.json dla Azure Functions 2.x.
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 (rozmiar wsadu) | 1000 | Maksymalna liczba żądań do agregowania. |
| flushTimeout | 00:00:30 | Maksymalny czas agregowania. |
Wywołania funkcji są agregowane po osiągnięciu pierwszego z 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 |
|---|---|---|
| jest włączony | prawda | Włącza lub wyłącza próbkowanie. |
| maksIlośćElementówTelemetriiNaSekundę | 5 | Próg, na którym rozpoczyna się próbkowanie. |
DocumentDB
Ustawienia konfiguracji dla wyzwalacza i powiązań 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 dla Durable Functions.
Uwaga
Wszystkie główne wersje rozszerzenia Durable Functions są obsługiwane we wszystkich wersjach środowiska uruchomieniowego usługi Azure Functions. Jednak schemat konfiguracji host.json różni się nieco w zależności od wersji środowiska uruchomieniowego usługi Azure Functions i wersji używanego rozszerzenia Durable Functions.
Poniższy kod zawiera dwa przykłady durableTask ustawień w host.json: jeden dla Durable Functions 2.x i jeden dla Durable Functions 1.x. Możesz użyć obu przykładów w usługach Azure Functions 2.0 i 3.0. W usłudze Azure Functions 1.0 dostępne ustawienia są takie same, ale sekcja durableTask w host.json znajduje się w katalogu głównym konfiguracji host.json, zamiast być umieszczona jako pole w extensions.
{
"extensions": {
"durableTask": {
"hubName": "MyTaskHub",
"defaultVersion": "1.0",
"versionMatchStrategy": "CurrentOrOlder",
"versionFailureStrategy": "Reject",
"storageProvider": {
"connectionStringName": "AzureWebJobsStorage",
"controlQueueBatchSize": 32,
"controlQueueBufferThreshold": 256,
"controlQueueVisibilityTimeout": "00:05:00",
"FetchLargeMessagesAutomatically": true,
"maxQueuePollingInterval": "00:00:30",
"partitionCount": 4,
"trackingStoreConnectionStringName": "TrackingStorage",
"trackingStoreNamePrefix": "DurableTask",
"useLegacyPartitionManagement": false,
"useTablePartitionManagement": true,
"workItemQueueVisibilityTimeout": "00:05:00",
"QueueClientMessageEncoding": "UTF8"
},
"tracing": {
"traceInputsAndOutputs": false,
"traceReplayEvents": false,
},
"notifications": {
"eventGrid": {
"topicEndpoint": "https://topic_name.westus2-1.eventgrid.azure.net/api/events",
"keySettingName": "EventGridKey",
"publishRetryCount": 3,
"publishRetryInterval": "00:00:30",
"publishEventTypes": [
"Started",
"Completed",
"Failed",
"Terminated"
]
}
},
"maxConcurrentActivityFunctions": 10,
"maxConcurrentOrchestratorFunctions": 10,
"maxConcurrentEntityFunctions": 10,
"extendedSessionsEnabled": false,
"extendedSessionIdleTimeoutInSeconds": 30,
"useAppLease": true,
"useGracefulShutdown": false,
"maxEntityOperationBatchSize": 50,
"maxOrchestrationActions": 100000,
"storeInputsInOrchestrationHistory": false
}
}
}
| Własność | Wartość domyślna | opis |
|---|---|---|
| hubName | TestHubName (DurableFunctionsHub w wersji 1.x) | Nazwa centrum, które przechowuje bieżący stan aplikacji funkcji. Nazwy centrum zadań muszą zaczynać się literą i składać się tylko z liter i cyfr. Jeśli nie określisz nazwy, zostanie użyta wartość domyślna. Alternatywne nazwy centrum procesów zadań mogą służyć do izolowania wielu aplikacji Funkcje Trwałe od siebie, nawet jeśli używają tego samego zaplecza magazynowania. Aby uzyskać więcej informacji, zobacz Centra zadań. |
| defaultVersion (wersja domyślna) | Domyślna wersja przypisana do nowych instancji orkiestracji. Po określeniu wersji nowe wystąpienia orkiestracji są trwale skojarzone z tą wartością wersji. To ustawienie jest używane przez funkcję wersjonowania orkiestracji, aby umożliwić scenariusze, takie jak wdrożenia bez przestojów i zmiany powodujące niezgodność. Możesz użyć dowolnej wartości ciągu znaków dla wersji. | |
| strategiaDopasowaniaWersji | CurrentOrOlder | Wartość określająca, w jaki sposób wersje orkiestracji są dopasowywane podczas ładowania funkcji orkiestratora. Prawidłowe wartości to None, Stricti CurrentOrOlder. Aby uzyskać szczegółowe wyjaśnienia, zobacz Wersjonowanie orkiestracji. |
| strategiaNiepowodzeniaWersji | Odrzuć | Wartość określająca, co się stanie, gdy wersja orkiestracji nie jest zgodna z bieżącą defaultVersion wartością. Prawidłowe wartości to Reject i Fail. Aby uzyskać szczegółowe objaśnienia, zobacz Wersjonowanie orkiestracji. |
| controlQueueBatchSize | 32 | Liczba komunikatów pobieranych z kolejki sterowania naraz. |
| controlQueueBufferThreshold |
Plan zużycia dla języka Python: 32 Plan zużycia dla innych języków: 128 Plan dedykowany lub Premium: 256 |
Liczba komunikatów kolejki sterowania, które mogą być buforowane w pamięci jednocześnie. Gdy zostanie osiągnięta określona liczba, dyspozytor czeka przed usunięciem z kolejki innych komunikatów. W niektórych sytuacjach zmniejszenie tej wartości może znacznie zmniejszyć zużycie pamięci. |
| ilość partycji | 4 | Liczba partycji dla kolejki sterowania. Ta wartość musi być dodatnią liczbą całkowitą z zakresu od 1 do 16. Zmiana tej wartości wymaga skonfigurowania nowego centrum zadań. |
| kontrolujCzasWidocznościKolejki | 00:05:00 | Limit czasu widoczności komunikatów usuniętych z kolejki sterowania w formacie hh:mm:ss. |
| Czas oczekiwania na widoczność kolejki elementów roboczych | 00:05:00 | Limit czasu widoczności komunikatów w kolejce elementów roboczych w formacie hh:mm:ss. |
| AutomatycznePobieranieDużychWiadomości | prawda | Wartość określająca, czy mają być pobierane duże komunikaty w zapytaniach o stan aranżacji. Gdy to ustawienie to true, pobierane są duże komunikaty, które przekraczają limit rozmiaru kolejki. Gdy to ustawienie ma wartość false, pobierany jest adres URL obiektu blob wskazujący na każdy duży komunikat. |
| maksymalna liczba funkcji równoczesnych aktywności |
Plan zużycia: 10 Plan dedykowany lub Premium: 10 razy więcej procesorów na bieżącej maszynie |
Maksymalna liczba funkcji aktywności, które mogą być przetwarzane współbieżnie w jednej instancji hosta. |
| maksymalnaLiczbaRównoległychFunkcjiOrkiestratora |
Plan zużycia: 5 Plan dedykowany lub Premium: 10 razy więcej procesorów na bieżącej maszynie |
Maksymalna liczba funkcji orkiestratora, które mogą być przetwarzane współbieżnie w jednym wystąpieniu hosta. |
| maksymalnaLiczbaRównoczesnychFunkcjiPodmiotu |
Plan zużycia: 5 Plan dedykowany lub Premium: 10 razy więcej procesorów na bieżącej maszynie |
Maksymalna liczba funkcji jednostki, które mogą być przetwarzane współbieżnie na jednym hoście. To ustawienie ma zastosowanie tylko wtedy, gdy używasz trwałego harmonogramu zadań. W przeciwnym razie maksymalna liczba współbieżnych wykonań jednostek jest ograniczona do wartości maxConcurrentOrchestratorFunctions. |
| maksymalnyInterwałOdpytywaniaKolejki | 00:00:30 | Maksymalny interwał sondowania kolejki kontrolek i elementów roboczych w formacie hh:mm:ss . Wyższe wartości mogą spowodować większe opóźnienia przetwarzania komunikatów. Niższe wartości mogą spowodować wyższe koszty magazynowania z powodu zwiększonych transakcji magazynu. |
| maxOrchestrationActions | 100,000 | Maksymalna liczba akcji, które może wykonywać funkcja orkiestratora podczas jednego cyklu wykonywania. |
| connectionName (wersja 2.7.0 lub nowsza) connectionStringName (wersja 2.x) azureStorageConnectionStringName (wersja 1.x) |
AzureWebJobsStorage | Nazwa ustawienia aplikacji lub kolekcji ustawień, która określa sposób nawiązywania połączenia z bazowymi zasobami usługi Azure Storage. Podając pojedyncze ustawienie aplikacji, powinno to być ciąg połączenia z usługą Azure Storage. |
| trackingStoreConnectionName (wersja 2.7.0 lub nowsza) trackingStoreConnectionStringName |
Nazwa ustawienia aplikacji lub kolekcji ustawień, która określa sposób nawiązywania połączenia z tabelami Historia i Instancje, które przechowują historię wykonywania i metadane dotyczące instancji orkiestracji. Podając pojedyncze ustawienie aplikacji, powinno to być ciąg połączenia z usługą Azure Storage. Jeśli nie określisz ustawienia, użyta zostanie wartość connectionStringName (wersja 2.x) lub wartość azureStorageConnectionStringName (wersja 1.x). |
|
| trackingStoreNamePrefix | Prefiks używany dla tabel Historia i Wystąpienia, gdy trackingStoreConnectionStringName jest określony. Jeśli nie określisz prefiksu, zostanie użyta wartość domyślna DurableTask . Jeśli trackingStoreConnectionStringName nie zostanie określony, tabele Historia i Instancje używają wartości hubName jako prefiksu, a ustawienia trackingStoreNamePrefix są ignorowane. |
|
| śledźWejściaIWyjścia | fałsz | Wartość wskazująca, czy śledzić dane wejściowe i wyjściowe wywołań funkcji. Gdy śledzone są zdarzenia wykonywania funkcji, domyślne zachowanie polega na dołączeniu liczby bajtów do serializowanych danych wejściowych i wyjściowych dla wywołań funkcji. To zachowanie zapewnia minimalne informacje o danych wejściowych i wyjściowych, dzięki czemu nie zaśmieca dzienników ani przypadkowo nie ujawnia informacji poufnych. Gdy ta właściwość ma truewartość , cała zawartość danych wejściowych i wyjściowych funkcji jest rejestrowana. |
| traceReplayEvents | fałsz | Wartość wskazująca, czy zapisywać zdarzenia odtwarzania orkiestracji w usłudze Application Insights. |
| logReplayEvents | fałsz | Wartość wskazująca, czy rejestrować ponowne wykonania w dziennikach aplikacji. |
| punkt końcowy tematu EventGrid | Adres internetowy niestandardowego punktu końcowego tematu w Azure Event Grid. Gdy ustawisz tę właściwość, zdarzenia powiadomień dotyczących cyklu życia orkiestracji są publikowane w tym punkcie końcowym. Ta właściwość obsługuje rozwiązywanie ustawień aplikacji. | |
| nazwa_ustawienia_klucza_eventGrid | Nazwa ustawienia aplikacji zawierającego klucz używany do uwierzytelniania za pomocą tematu niestandardowego usługi Event Grid pod adresem EventGridTopicEndpoint URL. |
|
| Liczba ponownych prób publikacji EventGrid | 0 | Liczba ponownych prób w przypadku niepowodzenia publikowania w temacie usługi Event Grid. |
| interwał ponownej próby publikacji w Event Grid | 00:05:00 | Interwał ponawiania publikowania w usłudze Event Grid w formacie hh:mm:ss. |
| Typy Zdarzeń Publikowanych w EventGrid | Lista typów zdarzeń do opublikowania w usłudze Event Grid. Jeśli nie określisz żadnych typów, wszystkie typy zdarzeń zostaną opublikowane. Dozwolone wartości obejmują Started, , CompletedFailedi Terminated. |
|
| włączonePrzedłużoneSesje | fałsz | Wartość określająca, czy sesje orkiestratora i sesje funkcji jednostki są buforowane. |
| wydłużony limit czasu bezczynności sesji w sekundach | 30 | Liczba sekund, przez które bezczynny orkiestrator lub funkcja jednostki pozostaje w pamięci, zanim zostanie zwolniona. To ustawienie jest używane tylko wtedy, gdy extendedSessionsEnabled ustawienie to true. |
| użyjAppLease | prawda | Wartość wskazująca, czy aplikacje muszą uzyskać dzierżawę blob na poziomie aplikacji przed przetworzeniem komunikatów centrum zadań. Aby uzyskać więcej informacji, zobacz Odzyskiwanie po awarii i dystrybucja geograficzna w zespole Durable Functions. To ustawienie jest dostępne od wersji 2.3.0. |
| użyjZarządzaniaPodziałemLegacy | fałsz | Wartość określająca typ algorytmu zarządzania partycjami do użycia. W przypadku tego ustawienia falsejest używany algorytm, który zmniejsza możliwość zduplikowania wykonywania funkcji podczas skalowania w górę. To ustawienie jest dostępne od wersji 2.3.0.
Ustawienie tej wartości na true nie jest zalecane. |
| użyjZarządzaniaPodziałemTabeli | W wersji 3.x: true W wersji 2.x: false |
Wartość określająca typ algorytmu zarządzania partycjami do użycia. W przypadku tego ustawienia truealgorytm jest używany w celu zmniejszenia kosztów kont usługi Azure Storage w wersji 2. To ustawienie jest dostępne od wersji WebJobs.Extensions.DurableTask v2.10.0. Użycie tego ustawienia z tożsamością zarządzaną wymaga rozszerzenia WebJobs.Extensions.DurableTask w wersji 3.x lub nowszej albo Worker.Extensions.DurableTask w wersji 1.2.x lub nowszej. |
| użyjŁagodnegoZamknięcia | fałsz | (Wersja zapoznawcza) Wartość wskazująca, czy zamknąć w kontrolowany sposób, aby zmniejszyć prawdopodobieństwo zamknięcia hosta, powodującego niepowodzenie wykonywania funkcji w toku. |
| maxEntityOperationBatchSize (maksymalna liczba operacji na encjach w partii) |
Plan zużycia: 50 Plan dedykowany lub Premium: 5000 |
Maksymalna liczba operacji jednostki przetwarzanych jako partia. Jeśli ta wartość to 1, przetwarzanie wsadowe jest wyłączone, a osobne wywołanie funkcji przetwarza każdy komunikat operacji. To ustawienie jest dostępne od wersji 2.6.1. |
| przechowujWejściaWHistoriiOrkiestracji | fałsz | Wartość określająca sposób przechowywania danych wejściowych. Gdy to ustawienie to true, struktura Durable Task Framework zapisuje dane wejściowe aktywności w tabeli Historia, a dane wejściowe funkcji aktywności pojawiają się w wynikach zapytania historii orkiestracji. |
| maxGrpcMessageSizeInBytes (maksymalny rozmiar wiadomości Grpc w bajtach) | 4,194,304 | Wartość całkowita określająca maksymalny rozmiar w bajtach komunikatów, które może odbierać ogólny klient wywołania procedury zdalnej (gRPC). Implementacja DurableTaskClient używa klienta gRPC do zarządzania wystąpieniami orkiestracji. To ustawienie dotyczy izolowanego pracownika Durable Functions .NET i aplikacji Java. |
| grpcHttpClientTimeout | 00:01:40 | Limit czasu w formacie hh:mm:ss dla klienta HTTP używanego przez klienta gRPC w funkcji Durable Functions. Klient jest obecnie obsługiwany w przypadku aplikacji roboczych izolowanych platformy .NET (.NET 6 i nowszych) oraz aplikacji Java. |
| QueueClientMessageEncoding | UTF8 | Strategia kodowania komunikatów usługi Azure Queue Storage. Prawidłowe strategie to Format transformacji Unicode –8-bitowy (UTF8) i Base64. To ustawienie ma zastosowanie w przypadku korzystania z wersji Microsoft.Azure.WebJobs.Extensions.DurableTask 3.4.0 lub nowszej albo Microsoft.Azure.Functions.Worker.Extensions.DurableTask 1.7.0 lub nowszej. |
Wiele z tych ustawień jest przeznaczonych do optymalizacji wydajności. Aby uzyskać więcej informacji, zobacz Wydajność i skala.
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 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 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 konfiguracji monitora kondycji hosta.
{
"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 dla wyzwalaczy i powią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ą podlegać temu ustawieniu. |
| 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 na platformie Azure zalecamy, aby nie ustawiać wartości identyfikatora. Identyfikator jest generowany automatycznie na platformie Azure, gdy id zostanie pominięty.
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 konfiguracyjne dla powiązania wyjściowego SendGrind
{
"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
Konfiguracja ustawień wyzwalaczy i powiązań usługi 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 problem na GitHubie dotyczący obsługi singletona.
{
"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" ]
}