Udostępnij za pomocą


odniesienie do pliku host.json dla usługi Azure Functions 1.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ł 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" ]
}

Następne kroki