host.json-Referenz für Azure Functions 2.xhost.json reference for Azure Functions 2.x

Die Metadatendatei host.json enthält globale Konfigurationsoptionen, die sich auf alle Funktionen einer Funktionen-App auswirken.The host.json metadata file contains global configuration options that affect all functions for a function app. In diesem Artikel werden die verfügbaren Einstellungen für die v2 Runtime aufgelistet.This article lists the settings that are available for the v2 runtime.

Hinweis

Dieser Artikel gilt für Azure Functions 2.x.This article is for Azure Functions 2.x. Eine Referenz für „host.json“ in Functions 1.x finden Sie unter host.json-Referenz für Azure Functions 1.x.For a reference of host.json in Functions 1.x, see host.json reference for Azure Functions 1.x.

Weitere Konfigurationsoptionen Ihrer Funktions-App werden in den Anwendungseinstellungen verwaltet.Other function app configuration options are managed in your app settings.

Einige Einstellungen in host.json werden nur bei lokaler Ausführung in der local.settings.json-Datei verwendet.Some host.json settings are only used when running locally in the local.settings.json file.

host.json-BeispieldateiSample host.json file

Für die folgenden host.json-Beispieldateien sind alle möglichen Optionen angegeben.The following sample host.json files have all possible options specified.

{
    "version": "2.0",
    "aggregator": {
        "batchSize": 1000,
        "flushTimeout": "00:00:30"
    },
    "extensions": {
        "cosmosDb": {},
        "durableTask": {},
        "eventHubs": {},
        "http": {},
        "queues": {},
        "sendGrid": {},
        "serviceBus": {}
    },
    "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" : 5
            }
        }
    },
    "singleton": {
      "lockPeriod": "00:00:15",
      "listenerLockPeriod": "00:01:00",
      "listenerLockRecoveryPollingInterval": "00:01:00",
      "lockAcquisitionTimeout": "00:01:00",
      "lockAcquisitionPollingInterval": "00:00:03"
    },
    "watchDirectories": [ "Shared", "Test" ],
    "managedDependency": {
        "enabled": true
    }
}

In den folgenden Abschnitten dieses Artikels werden die einzelnen allgemeinen Eigenschaften erläutert.The following sections of this article explain each top-level property. Alle Eigenschaften sind optional, sofern nicht anders angegeben.All are optional unless otherwise indicated.

aggregatoraggregator

Gibt an, wie viele Funktionsaufrufe aggregiert werden, wenn Metriken für Application Insights berechnet werden.Specifies how many function invocations are aggregated when calculating metrics for Application Insights.

{
    "aggregator": {
        "batchSize": 1000,
        "flushTimeout": "00:00:30"
    }
}
EigenschaftProperty StandardDefault BESCHREIBUNGDescription
batchSizebatchSize 10001000 Maximale Anzahl der zu aggregierenden Anforderungen.Maximum number of requests to aggregate.
flushTimeoutflushTimeout 00:00:3000:00:30 Maximal zu aggregierender Zeitraum.Maximum time period to aggregate.

Funktionsaufrufe werden aggregiert, wenn der erste der beiden Grenzwerte erreicht wird.Function invocations are aggregated when the first of the two limits are reached.

applicationInsightsapplicationInsights

Diese Einstellung ist ein untergeordnetes Element von logging.This setting is a child of logging.

Steuert das Stichprobenfeature in Application Insights.Controls the sampling feature in Application Insights.

{
    "applicationInsights": {
        "samplingSettings": {
          "isEnabled": true,
          "maxTelemetryItemsPerSecond" : 5
        }
    }
}

Hinweis

Protokollsampling kann dazu führen, dass einige Ausführungen möglicherweise nicht auf dem Application Insights-Blatt für Überwachen angezeigt werden.Log sampling may cause some executions to not show up in the Application Insights monitor blade.

EigenschaftProperty StandardDefault BESCHREIBUNGDescription
isEnabledisEnabled truetrue Aktiviert oder deaktiviert die Stichprobenentnahme.Enables or disables sampling.
maxTelemetryItemsPerSecondmaxTelemetryItemsPerSecond 55 Der Schwellenwert, bei dem die Stichprobenentnahme beginnt.The threshold at which sampling begins.

cosmosDbcosmosDb

Die Konfigurationseinstellung finden Sie in Cosmos DB-Trigger und -Bindungen.Configuration setting can be found in Cosmos DB triggers and bindings.

durableTaskdurableTask

Die Konfigurationseinstellung finden Sie in Bindungen für Durable Functions.Configuration setting can be found in bindings for Durable Functions.

eventHubeventHub

Die Konfigurationseinstellung finden Sie in Event Hub-Trigger und -Bindungen.Configuration settings can be found in Event Hub triggers and bindings.

Erweiterungenextensions

Eigenschaft, die ein Objekt zurückgibt, das alle die bindungsspezifischen-Einstellungen enthält, z.B. http und eventhub.Property that returns an object that contains all of the binding-specific settings, such as http and eventHub.

functionsfunctions

Eine Liste der Funktionen, die vom Auftragshost ausgeführt werden.A list of functions that the job host runs. Ein leeres Array bedeutet, dass alle Funktionen ausgeführt werden.An empty array means run all functions. Nur bei lokaler Ausführung für die Verwendung vorgesehen.Intended for use only when running locally. In Funktions-Apps in Azure sollten Sie anstelle dieser Einstellung die in How to disable functions in Azure Functions (Deaktivieren von Funktionen in Azure Functions) aufgeführten Schritte ausführen, um bestimmte Funktionen zu deaktivieren.In function apps in Azure, you should instead follow the steps in How to disable functions in Azure Functions to disable specific functions rather than using this setting.

{
    "functions": [ "QueueProcessor", "GitHubWebHook" ]
}

functionTimeoutfunctionTimeout

Gibt die Timeoutdauer für alle Funktionen an.Indicates the timeout duration for all functions. Die Angabe erfolgt im TimeSpan-Zeichenfolgenformat.It follows the timespan string format. Bei einem serverlosen Verbrauchsplan liegt der gültige Bereich zwischen 1 Sekunde und 10 Minuten, wobei der Standardwert bei 5 Minuten liegt.In a serverless Consumption plan, the valid range is from 1 second to 10 minutes, and the default value is 5 minutes.
Bei einem App Service-Plan vom Typ „Dedicated“ gibt es keine allgemeine Beschränkung, und der Standardwert hängt von der Version der Runtime ab:In a Dedicated (App Service) plan, there is no overall limit, and the default depends on the runtime version:

  • Version 1.x: Der Standardwert ist null, was bedeutet, dass kein Timeout erfolgt.Version 1.x: the default is null, which indicates no timeout.
  • Version 2.x: Der Standardwert lautet 30 Minuten.Version 2.x: the default value is 30 minutes. Der Wert -1 gibt eine unbegrenzte Ausführung an.A value of -1 indicates unbounded execution.
{
    "functionTimeout": "00:05:00"
}

healthMonitorhealthMonitor

Konfigurationseinstellungen für Host Health Monitor (Überwachung der Hostintegrität).Configuration settings for Host health monitor.

{
    "healthMonitor": {
        "enabled": true,
        "healthCheckInterval": "00:00:10",
        "healthCheckWindow": "00:02:00",
        "healthCheckThreshold": 6,
        "counterThreshold": 0.80
    }
}
EigenschaftProperty StandardDefault BESCHREIBUNGDescription
enabledenabled truetrue Gibt an, ob die Funktion aktiviert ist.Specifies whether the feature is enabled.
healthCheckIntervalhealthCheckInterval 10 Sekunden10 seconds Das Zeitintervall zwischen den regelmäßigen Integritätsüberprüfungen im Hintergrund.The time interval between the periodic background health checks.
healthCheckWindowhealthCheckWindow 2 Minuten2 minutes Ein variables Zeitfenster, das in Zusammenhang mit der healthCheckThreshold-Einstellung verwendet wird.A sliding time window used in conjunction with the healthCheckThreshold setting.
healthCheckThresholdhealthCheckThreshold 66 Maximale Anzahl von fehlerhaften Integritätsüberprüfungen, bevor ein Neustart des Hosts initiiert wird.Maximum number of times the health check can fail before a host recycle is initiated.
counterThresholdcounterThreshold 0.800.80 Der Schwellenwert, an dem ein Leistungsindikator als fehlerhaft betrachtet wird.The threshold at which a performance counter will be considered unhealthy.

httphttp

Die Konfigurationseinstellung finden Sie in HTTP-Trigger und -Bindungen.Configuration settings can be found in http triggers and bindings.

{
    "http": {
        "routePrefix": "api",
        "maxOutstandingRequests": 200,
        "maxConcurrentRequests": 100,
        "dynamicThrottlesEnabled": true
    }
}
EigenschaftProperty StandardDefault BESCHREIBUNGDescription
routePrefixroutePrefix apiapi Das Routenpräfix, das für alle Routen gilt.The route prefix that applies to all routes. Verwenden Sie eine leere Zeichenfolge, um das Standardpräfix zu entfernen.Use an empty string to remove the default prefix.
maxOutstandingRequestsmaxOutstandingRequests 200*200* Die maximale Anzahl ausstehender Anforderungen, die zu einem beliebigen Zeitpunkt gespeichert werden.The maximum number of outstanding requests that are held at any given time. Dieser Grenzwert umfasst Anforderungen in der Warteschlange, deren Ausführung aber noch nicht gestartet ist, sowie alle laufenden Ausführungen.This limit includes requests that are queued but have not started executing, as well as any in progress executions. Alle eingehenden Anforderungen über diesem Grenzwert werden mit der Antwort 429 „Ausgelastet“ zurückgewiesen.Any incoming requests over this limit are rejected with a 429 "Too Busy" response. Das ermöglicht es dem Aufrufer zeitbasierte Strategien für Wiederholungsversuche einzusetzen, und Sie erhalten damit die Möglichkeit, die maximalen Wartezeiten für Anforderungen zu steuern.That allows callers to employ time-based retry strategies, and also helps you to control maximum request latencies. Damit wird nur das Queuing gesteuert, das innerhalb des Ausführungspfads des Skripthosts auftritt.This only controls queuing that occurs within the script host execution path. Andere Warteschlangen, z.B. die ASP.NET-Anforderungswarteschlange, sind von dieser Einstellung nicht betroffen und werden weiterhin verwendet.Other queues such as the ASP.NET request queue will still be in effect and unaffected by this setting. *Der Standardwert für Version 1.x ist unbegrenzt (-1).*The default for version 1.x is unbounded (-1). Der Standardwert für Version 2.x in einem Verbrauchstarif beträgt 200.The default for version 2.x in a consumption plan is 200. Der Standardwert für Version 2.x in einem dedizierten Plan ist unbegrenzt (-1).The default for version 2.x in a dedicated plan is unbounded (-1).
maxConcurrentRequestsmaxConcurrentRequests 100*100* Die maximale Anzahl von HTTP-Funktionen, die parallel ausgeführt werden.The maximum number of http functions that will be executed in parallel. Dadurch können Sie die Parallelität steuern und somit die Verwaltung der Ressourcenverwendung vereinfachen.This allows you to control concurrency, which can help manage resource utilization. Beispielsweise könnten Sie über eine HTTP-Funktion verfügen, die viele Systemressourcen (Speicher/CPU/Sockets) verbraucht und daher Probleme verursacht, wenn die Parallelität zu hoch ist.For example, you might have an http function that uses a lot of system resources (memory/cpu/sockets) such that it causes issues when concurrency is too high. Oder eine Funktion führt ausgehende Anforderungen an einen Dienst eines Drittanbieters durch, und die Rate dieser Aufrufe muss eingeschränkt werden.Or you might have a function that makes outbound requests to a third party service, and those calls need to be rate limited. In diesen Fällen kann eine Drosselung hilfreich sein.In these cases, applying a throttle here can help. *Der Standardwert für Version 1.x ist unbegrenzt (-1).*The default for version 1.x is unbounded (-1). Der Standardwert für Version 2.x in einem Verbrauchstarif beträgt 100.The default for version 2.x in a consumption plan is 100. Der Standardwert für Version 2.x in einem dedizierten Plan ist unbegrenzt (-1).The default for version 2.x in a dedicated plan is unbounded (-1).
dynamicThrottlesEnableddynamicThrottlesEnabled true*true* Bei einer Aktivierung dieser Einstellung überprüft die Pipeline zur Anforderungsverarbeitung regelmäßig Leistungsindikatoren zur Systemleistung wie Verbindungen/Threads/Prozesse/Speicher/CPU usw., und wenn einer dieser Leistungsindikatoren einen integrierten Schwellenwert (80 %) übersteigt, werden Anforderungen mit der Antwort „429 – Ausgelastet“ zurückgewiesen, bis die Leistungsindikatoren wieder ein normales Niveau erreichen.When enabled, this setting causes the request processing pipeline to periodically check system performance counters like connections/threads/processes/memory/cpu/etc. and if any of those counters are over a built-in high threshold (80%), requests will be rejected with a 429 "Too Busy" response until the counter(s) return to normal levels. *Der Standardwert für Version 1.x lautet „false“.*The default for version 1.x is false. Der Standardwert für Version 2.x in einem Verbrauchstarif lautet „true“.The default for version 2.x in a consumption plan is true. Der Standardwert für Version 2.x in einem dedizierten Tarif lautet „false“.The default for version 2.x in a dedicated plan is false.

logginglogging

Steuert das Protokollierungsverhalten der Funktions-App, einschließlich Application Insights.Controls the logging behaviors of the function app, including Application Insights.

"logging": {
    "fileLoggingMode": "debugOnly",
    "logLevel": {
      "Function.MyFunction": "Information",
      "default": "None"
    },
    "console": {
        ...
    },
    "applicationInsights": {
        ...
    }
}
EigenschaftProperty StandardDefault BESCHREIBUNGDescription
fileLoggingModefileLoggingMode debugOnlydebugOnly Definiert, welche Stufe der Dateiprotokollierung aktiviert ist.Defines what level of file logging is enabled. Optionen sind never, always, debugOnly.Options are never, always, debugOnly.
logLevellogLevel n/a Objekt, das das Filtern der Protokollkategorie nach Funktionen in der App definiert.Object that defines the log category filtering for functions in the app. Version 2.x entspricht bei der Filterung der Protokollkategorie dem Layout von ASP.NET Core.Version 2.x follows the ASP.NET Core layout for log category filtering. Dadurch können Sie die Protokollierung nach bestimmten Funktionen filtern.This lets you filter logging for specific functions. Weitere Informationen finden Sie unter Protokollfilterung in der Dokumentation zu ASP.NET Core.For more information, see Log filtering in the ASP.NET Core documentation.
consoleconsole n/a Die Konsolenprotokollierungseinstellung.The console logging setting.
applicationInsightsapplicationInsights n/a Die applicationInsights-Einstellung.The applicationInsights setting.

consoleconsole

Diese Einstellung ist ein untergeordnetes Element von logging.This setting is a child of logging. Sie steuert die Konsolenprotokollierung, wenn nicht im Debugmodus.It controls the console logging when not in debugging mode.

{
    "logging": {
    ...
        "console": {
          "isEnabled": "false"
        },
    ...
    }
}
EigenschaftProperty StandardDefault BESCHREIBUNGDescription
isEnabledisEnabled falsefalse Aktiviert oder deaktiviert die Konsolenprotokollierung.Enables or disables console logging.

queuesqueues

Die Konfigurationseinstellungen finden Sie in Trigger und Bindungen der Speicherwarteschlange.Configuration settings can be found in Storage queue triggers and bindings.

sendGridsendGrid

Die Konfigurationseinstellung finden Sie in SendGrid-Trigger und -Bindungen.Configuration setting can be found in SendGrid triggers and bindings.

serviceBusserviceBus

Die Konfigurationseinstellung finden Sie in Service Bus-Trigger und -Bindungen.Configuration setting can be found in Service Bus triggers and bindings.

singletonsingleton

Konfigurationseinstellungen für das Singleton-Sperrverhalten.Configuration settings for Singleton lock behavior. Weitere Informationen finden Sie unter GitHub-Problem zur Singleton-Unterstützung.For more information, see GitHub issue about singleton support.

{
    "singleton": {
      "lockPeriod": "00:00:15",
      "listenerLockPeriod": "00:01:00",
      "listenerLockRecoveryPollingInterval": "00:01:00",
      "lockAcquisitionTimeout": "00:01:00",
      "lockAcquisitionPollingInterval": "00:00:03"
    }
}
EigenschaftProperty StandardDefault BESCHREIBUNGDescription
lockPeriodlockPeriod 00:00:1500:00:15 Der Zeitraum, für den Sperren auf Funktionsebene gelten.The period that function level locks are taken for. Die Sperren werden automatisch verlängert.The locks auto-renew.
listenerLockPeriodlistenerLockPeriod 00:01:0000:01:00 Der Zeitraum, für den Listenersperren gelten.The period that listener locks are taken for.
listenerLockRecoveryPollingIntervallistenerLockRecoveryPollingInterval 00:01:0000:01:00 Das Zeitintervall für die Wiederherstellung der Listenersperre, wenn eine Listenersperre nicht beim Start abgerufen werden konnte.The time interval used for listener lock recovery if a listener lock couldn't be acquired on startup.
lockAcquisitionTimeoutlockAcquisitionTimeout 00:01:0000:01:00 Die maximale Zeitspanne, in der die Laufzeit versucht, eine Sperre abzurufen.The maximum amount of time the runtime will try to acquire a lock.
lockAcquisitionPollingIntervallockAcquisitionPollingInterval n/a Das Intervall zwischen den Versuchen, eine Sperre abzurufen.The interval between lock acquisition attempts.

versionversion

Die Versionszeichenfolge "version": "2.0" ist für Funktions-App mit der v2-Runtime als Ziel erforderlich.The version string "version": "2.0" is required for a function app that targets the v2 runtime.

watchDirectorieswatchDirectories

Eine Reihe von Verzeichnissen mit freigegebenem Code, die auf Änderungen überwacht werden sollte.A set of shared code directories that should be monitored for changes. Dadurch wird sichergestellt, dass Änderungen am Code in diesen Verzeichnissen von Ihren Funktionen übernommen werden.Ensures that when code in these directories is changed, the changes are picked up by your functions.

{
    "watchDirectories": [ "Shared" ]
}

managedDependencymanagedDependency

Verwaltete Abhängigkeit ist eine Previewfunktion (Vorschaufeature), die derzeit nur mit PowerShell-basierten Funktionen unterstützt wird.Managed dependency is a preview feature that is currently only supported with PowerShell based functions. Sie ermöglicht, dass Abhängigkeiten automatisch vom Dienst verwaltet werden können.It enables dependencies to be automatically managed by the service. Ist die enabled-Eigenschaft auf „true“ festgelegt, wird die Datei requirements.psd1 verarbeitet.When the enabled property is set to true, the requirements.psd1 file will be processed. Abhängigkeiten werden aktualisiert, wenn irgendwelche Nebenversionen veröffentlicht werden.Dependencies will be updated when any minor versions are released.

{
    "managedDependency": {
        "enabled": true
    }
}

Nächste SchritteNext steps