Freigeben über


host.json-Referenz für Azure Functions 1.x

Die Metadatendatei host.json enthält Konfigurationsoptionen, die sich auf alle Funktionen einer Funktions-App-Instanz auswirken. In diesem Artikel werden die verfügbaren Einstellungen für die Version 1.x Runtime aufgelistet. Das JSON-Schema finden Sie unter http://json.schemastore.org/host.

Hinweis

Dieser Artikel gilt für Azure Functions 1.x. Eine Referenz für „host.json“ in Functions 2x und höheren Versionen finden Sie in der host.json-Referenz für Azure Functions 2.x oder höher.

Weitere Konfigurationsoptionen Ihrer Funktions-App werden in den Anwendungseinstellungen verwaltet.

Einige Einstellungen in host.json werden nur bei lokaler Ausführung in der local.settings.json-Datei verwendet.

host.json-Beispieldatei

Für die folgenden host.json-Beispieldateien sind alle möglichen Optionen angegeben.

{
    "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" ],
}

In den folgenden Abschnitten dieses Artikels werden die einzelnen Top-Level-Eigenschaften erläutert. Alle Eigenschaften sind optional, sofern nicht anders angegeben.

aggregator

Gibt an, wie viele Funktionsaufrufe aggregiert werden, wenn Metriken für Application Insights berechnet werden.

{
    "aggregator": {
        "batchSize": 1000,
        "flushTimeout": "00:00:30"
    }
}
Eigenschaft Standard Beschreibung
batchSize 1000 Maximale Anzahl der zu aggregierenden Anforderungen.
flushTimeout 00:00:30 Maximal zu aggregierender Zeitraum.

Funktionsaufrufe werden aggregiert, wenn der erste der beiden Grenzwerte erreicht wird.

applicationInsights

Steuert das Stichprobenfeature in Application Insights.

{
    "applicationInsights": {
        "sampling": {
          "isEnabled": true,
          "maxTelemetryItemsPerSecond" : 5
        }
    }
}
Eigenschaft Standard Beschreibung
isEnabled wahr Aktiviert oder deaktiviert die Stichprobenentnahme.
maxTelemetryItemsPerSecond 5 Der Schwellenwert, bei dem die Stichprobenentnahme beginnt.

DocumentDB

Konfigurationseinstellungen für Azure Cosmos DB-Trigger und -Bindungen.

{
    "documentDB": {
        "connectionMode": "Gateway",
        "protocol": "Https",
        "leaseOptions": {
            "leasePrefix": "prefix1"
        }
    }
}
Eigenschaft Standard Beschreibung
Gateway-Modus Tor Der von der Funktion zum Herstellen von Verbindungen mit dem Azure Cosmos DB-Dienst verwendete Verbindungsmodus. Die Optionen sind Direct und Gateway.
Protokoll HTTPS Das von der Funktion zum Herstellen von Verbindungen mit dem Azure Cosmos DB-Dienst verwendete Verbindungsprotokoll. Hier finden Sie eine Erläuterung der beiden Modi
leasePrefix n/v Lease-Präfix, das durchgängig für alle Funktionen in einer App verwendet wird.

dauerhafteAufgabe

Konfigurationseinstellungen für Durable Functions.

Hinweis

Alle Hauptversionen von Durable Functions werden für alle Versionen der Azure Functions-Runtime unterstützt. Das Schema der host.json-Konfiguration unterscheidet sich jedoch geringfügig von der Version der Azure Functions-Laufzeit und der Version der verwendeten Erweiterung "Durable Functions".

Der folgende Code enthält zwei Beispiele für durableTask Einstellungen in host.json: eine für dauerhafte Funktionen 2.x und eine für dauerhafte Funktionen 1.x. Sie können beide Beispiele mit Azure Functions 2.0 und 3.0 verwenden. Mit Azure Functions 1.0 sind die verfügbaren Einstellungen identisch, aber der durableTask Abschnitt der host.json befindet sich im Stamm der host.json-Konfiguration , anstatt ein Feld unter 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
  }
 }
}
Eigenschaft Standardwert Beschreibung
hubName TestHubName (DurableFunctionsHub in v1.x) Der Name des Hubs, der den aktuellen Zustand einer Funktions-App speichert. Aufgabenhubnamen müssen mit einem Buchstaben beginnen und bestehen nur aus Buchstaben und Ziffern. Wenn Sie keinen Namen angeben, wird der Standardwert verwendet. Alternative Aufgabenhubnamen können verwendet werden, um mehrere Anwendungen für dauerhafte Funktionen voneinander zu isolieren, auch wenn sie dasselbe Speicher-Back-End verwenden. Weitere Informationen finden Sie unter Aufgabenhubs in Durable Functions (Azure Functions).
defaultVersion Die Standardversion, die auf neue Orchestrierungsinstanzen angewendet wird. Wenn Sie eine Version angeben, werden neue Orchestrierungsinstanzen dauerhaft diesem Versionswert zugeordnet. Diese Einstellung wird vom Feature Orchestrierungsversionsverwaltung verwendet, um Szenarien wie Bereitstellungen ohne Downtime mit Breaking Changes zu ermöglichen. Sie können einen beliebigen Zeichenfolgenwert für die Version verwenden.
Versionsabgleich-Strategie CurrentOrOlder Ein Wert, der angibt, wie Orchestrierungsversionen beim Laden von Orchestratorfunktionen übereinstimmen. Gültige Werte sind None, Strictund CurrentOrOlder. Detaillierte Erläuterungen finden Sie unter Orchestrierungsversionsverwaltung.
versionFailureStrategy Ablehnen Ein Wert, der angibt, was passiert, wenn eine Orchestrierungsversion nicht mit dem aktuellen defaultVersion Wert übereinstimmt. Gültige Werte sind Reject und Fail. Ausführliche Erläuterungen finden Sie unter "Orchestrierungsversionierung".
controlQueueBatchSize 32 Die Anzahl der aus der Steuerelement-Warteschlange jeweils abzurufenden Nachrichten.
controlQueueBufferThreshold Verbrauchstarif für Python: 32
Verbrauchsplan für andere Sprachen: 128
Dedizierter oder Premium-Plan: 256
Die Anzahl der Kontrollwarteschlangenmeldungen, die gleichzeitig im Arbeitsspeicher gepuffert werden können. Wenn die angegebene Zahl erreicht ist, wartet der Dispatcher, bevor andere Nachrichten aus der Warteschlange entfernt werden. In einigen Fällen kann die Verringerung dieses Werts die Arbeitsspeicherauslastung erheblich reduzieren.
partitionCount 4 Die Anzahl der Partitionen für die Steuerelement-Warteschlange. Dieser Wert muss eine positive ganze Zahl zwischen 1 und 16 sein. Zum Ändern dieses Werts muss ein neuer Aufgabenhub konfiguriert werden.
controlQueueVisibilityTimeout 00:05:00 Das Sichtbarkeitstimeout von aus der Steuerelementwarteschlange entfernten Nachrichten im Format hh:mm:ss.
workItemQueueVisibilityTimeout 00:05:00 Das Sichtbarkeitstimeout von aus der Warteschlange für Arbeitsausgaben entfernten Nachrichten im Format hh:mm:ss.
GroßeNachrichtenAutomatischAbrufen wahr Ein Wert, der angibt, ob große Nachrichten in Orchestrierungsstatusabfragen abgerufen werden sollen. Wenn diese Einstellung lautet true, werden große Nachrichten, die den Grenzwert für die Warteschlangengröße überschreiten, abgerufen. Wenn diese Einstellung lautet false, wird eine BLOB-URL abgerufen, die auf jede große Nachricht verweist.
maxConcurrentActivityFunctions Verbrauchsplan: 10
Dedizierter oder Premium-Plan: 10 mal die Anzahl der Prozessoren auf dem aktuellen Computer
Die maximale Anzahl von Aktivitätsfunktionen, die gleichzeitig auf einer einzelnen Hostinstanz verarbeitet werden können.
maxConcurrentOrchestratorFunctions Verbrauchsplan: 5
Dedizierter oder Premium-Plan: 10 mal die Anzahl der Prozessoren auf dem aktuellen Computer
Die maximale Anzahl von Orchestratorfunktionen, die gleichzeitig auf einer einzelnen Hostinstanz verarbeitet werden können.
maxConcurrentEntityFunctions Verbrauchsplan: 5
Dedizierter oder Premium-Plan: 10 mal die Anzahl der Prozessoren auf dem aktuellen Computer
Die maximale Anzahl von Entitätsfunktionen, die gleichzeitig in einer einzelnen Hostinstanz verarbeitet werden können. Diese Einstellung gilt nur, wenn Sie den dauerhaften Vorgangsplaner verwenden. Andernfalls ist die maximale Anzahl gleichzeitiger Entitätsausführungen auf den maxConcurrentOrchestratorFunctions Wert beschränkt.
maxQueuePollingInterval 00:00:30 Das maximale Abrufintervall der Steuerelement- und Arbeitselement-Warteschlangen im Format hh:mm:ss. Höhere Werte können zu höherer Latenz bei der Nachrichtenverarbeitung führen. Niedrigere Werte können aufgrund verstärkter Speichertransaktionen zu höheren Speicherkosten führen.
maxOrchestrationActions 100,000 Die maximale Anzahl von Aktionen, die eine Orchestratorfunktion während eines einzelnen Ausführungszyklus ausführen kann.
connectionName (v2.7.0 und höher)
connectionStringName (v2.x)
azureStorageConnectionStringName (v1.x)
AzureWebJobsStorage Der Name einer App-Einstellung oder -Einstellungssammlung, die angibt, wie eine Verbindung mit den zugrunde liegenden Azure Storage-Ressourcen hergestellt werden soll. Wenn Sie eine einzelne App-Einstellung angeben, sollte es sich um eine Azure Storage-Verbindungszeichenfolge handeln.
trackingStoreConnectionName (v2.7.0 und höher)
trackingStoreConnectionStringName
Der Name einer App-Einstellungs- oder Einstellungsauflistung, die angibt, wie eine Verbindung mit den Tabellen "Verlauf" und "Instanzen" hergestellt werden soll, die den Ausführungsverlauf und Metadaten zu Orchestrierungsinstanzen speichern. Wenn Sie eine einzelne App-Einstellung angeben, sollte es sich um eine Azure Storage-Verbindungszeichenfolge handeln. Wenn Sie keine Einstellung angeben, wird die Verbindung mit dem Wert connectionStringName (v2.x) oder azureStorageConnectionStringName (v1.x) verwendet.
trackingStoreNamePrefix Das für die Verlaufs- und Instanzentabellen zu verwendende Präfix, wenn trackingStoreConnectionStringName angegeben ist. Wenn Sie kein Präfix angeben, wird der Standardwert DurableTask verwendet. Wenn trackingStoreConnectionStringName nicht angegeben, verwenden die Tabellen "Verlauf" und "Instanzen" den hubName Wert als Präfix, und die trackingStoreNamePrefix Einstellung wird ignoriert.
traceInputsAndOutputs Falsch Ein Wert, der angibt, ob die Eingaben und Ausgaben von Funktionsaufrufen nachverfolgt werden sollen. Wenn Funktionsausführungsereignisse nachverfolgt werden, besteht das Standardverhalten darin, die Anzahl der Bytes in die serialisierten Eingaben und Ausgaben für Funktionsaufrufe einzuschließen. Dieses Verhalten bietet minimale Informationen zu den Eingaben und Ausgaben, sodass die Protokolle nicht aufgebläht werden oder versehentlich vertrauliche Informationen verfügbar gemacht werden. Wenn diese Eigenschaft lautet true, werden der gesamte Inhalt der Funktionseingaben und -ausgaben protokolliert.
traceReplayEvents Falsch Ein Wert, der angibt, ob Orchestrierungs-Wiederholungsereignisse in Application Insights geschrieben werden sollen.
logReplayEvents Falsch Ein Wert, der angibt, ob wiederholte Ausführungen in Anwendungsprotokollen protokolliert werden sollen.
eventGridTopicEndpoint Die URL eines benutzerdefinierten Azure Event Grid-Themenendpunkts. Wenn Sie diese Eigenschaft festlegen, werden Benachrichtigungsereignisse des Orchestrierungslebenszyklus für diesen Endpunkt veröffentlicht. Diese Eigenschaft unterstützt die Lösung von App-Einstellungen.
eventGridKeySettingName Der Name der App-Einstellung, die den Schlüssel enthält, der für die Authentifizierung mit dem benutzerdefinierten Ereignisrasterthema unter der EventGridTopicEndpoint URL verwendet wird.
eventGridPublishRetryCount 0 Die Anzahl der Versuche, wenn das Veröffentlichen in einem Event Grid-Thema fehlschlägt.
eventGridPublishRetryInterval 00:05:00 Das Event Grid Veröffentlichungs-Wiederholungsintervall im Format hh:mm:ss.
eventGridPublishEventTypes Eine Liste von Ereignistypen, die in Event Grid veröffentlicht werden sollen. Wenn Sie keine Typen angeben, werden alle Ereignistypen veröffentlicht. Zulässige Werte umfassen Started, , Completed, Failedund Terminated.
ErweiterteSitzungenAktiviert Falsch Ein Wert, der angibt, ob Sitzungs-Orchestrator- und Entitätsfunktionssitzungen zwischengespeichert werden.
erweiterteSitzungsleerlaufzeitInSekunden 30 Die Anzahl der Sekunden, die ein sich im Leerlauf befindlicher Orchestrator oder eine Entitätsfunktion im Arbeitsspeicher verbleibt, bevor sie entladen werden. Diese Einstellung wird nur verwendet, wenn die extendedSessionsEnabled Einstellung lautet true.
useAppLease wahr Ein Wert, der angibt, ob Apps einen Blob-Mietvertrag auf App-Ebene erwerben müssen, bevor Task-Hub-Nachrichten verarbeitet werden. Weitere Informationen finden Sie unter Notfallwiederherstellung und Geoverteilung in Durable Functions. Diese Einstellung ist ab v2.3.0 verfügbar.
VerwendenSieLegacyPartitionManagement Falsch Ein Wert, der den Typ des zu verwendenden Partitionsverwaltungsalgorithmus angibt. Bei dieser Einstellung falsewird ein Algorithmus verwendet, der die Möglichkeit der Ausführung doppelter Funktionen beim Skalieren reduziert. Diese Einstellung ist ab v2.3.0 verfügbar. Das Festlegen dieses Werts auf true "Nicht empfohlen".
useTablePartitionManagement In v3.x: true
In v2.x: falsch
Ein Wert, der den Typ des zu verwendenden Partitionsverwaltungsalgorithmus angibt. Bei dieser Einstellung truewird ein Algorithmus verwendet, der dazu dient, die Kosten für Azure Storage v2-Konten zu reduzieren. Diese Einstellung ist ab WebJobs.Extensions.DurableTask v2.10.0 verfügbar. Die Verwendung dieser Einstellung mit einer verwalteten Identität erfordert WebJobs.Extensions.DurableTask v3.x oder höher oder Worker.Extensions.DurableTask v1.2.x oder höher.
useGracefulShutdown Falsch (Vorschau) Ein Wert, der anzeigt, ob ein reibungsloses Herunterfahren durchgeführt werden soll, um die Wahrscheinlichkeit zu verringern, dass Host-Abschaltungen dazu führen, dass laufende Funktionsausführungen fehlschlagen.
maxEntityOperationBatchSize Verbrauchsplan: 50
Dedizierter oder Premium-Plan: 5.000
Die maximale Anzahl von Entitätsvorgängen, die als Batch verarbeitet werden. Wenn dieser Wert 1 ist, wird die Batchverarbeitung deaktiviert, und ein separater Funktionsaufruf verarbeitet jede Vorgangsmeldung. Diese Einstellung ist ab v2.6.1 verfügbar.
Eingaben in der Orchestrierungshistorie speichern Falsch Ein Wert, der angibt, wie Eingaben gespeichert werden. Wenn diese Einstellung lautet true, speichert das Durable Task Framework Aktivitätseingaben in der Tabelle "Verlauf", und Aktivitätsfunktionseingaben werden in Abfrageergebnissen des Orchestrierungsverlaufs angezeigt.
maxGrpcMessageSizeInBytes 4,194,304 Ein ganzzahliger Wert, der die maximale Größe in Byte von Nachrichten festlegt, die der generische Remoteprozeduraufruf (gRPC)-Client empfangen kann. Die Implementierung von DurableTaskClient verwendet den gRPC-Client zum Verwalten von Orchestrierungsinstanzen. Diese Einstellung gilt für Durable Functions .NET Isolated Worker und Java-Apps.
grpcHttpClientTimeout 00:01:40 Das Timeout im Format hh:mm:ss für den HTTP-Client, das vom gRPC-Client in Durable Functions verwendet wird. Der Client wird derzeit für .NET isolierte Worker-Apps (.NET 6 und höhere Versionen) und für Java-Apps unterstützt.
QueueClientMessageEncoding UTF8 Die Codierungsstrategie für Azure Queue Storage-Nachrichten. Gültige Strategien sind Unicode Transformation Format-8-Bit (UTF8) und Base64. Diese Einstellung gilt, wenn Sie Microsoft.Azure.WebJobs.Extensions.DurableTask 3.4.0 oder höher oder Microsoft.Azure.Functions.Worker.Extensions.DurableTask 1.7.0 oder höher verwenden.

Viele dieser Einstellungen werden zur Optimierung der Leistung verwendet. Weitere Informationen finden Sie unter Leistung und Skalierbarkeit.

eventHub

Konfigurationseinstellungen für Event Hub-Trigger und -Bindungen.

Funktionen

Eine Liste der Funktionen, die vom Auftragshost ausgeführt werden. Ein leeres Array bedeutet, dass alle Funktionen ausgeführt werden. Nur bei lokaler Ausführung für die Verwendung vorgesehen. 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.

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

functionTimeout

Gibt die Timeoutdauer für alle Funktionen an. Bei einem serverlosen Verbrauchsplan liegt der gültige Bereich zwischen 1 Sekunde und 10 Minuten, wobei der Standardwert bei 5 Minuten liegt. In einem App Service-Plan besteht keine allgemeine Einschränkung, und der Standardwert ist NULL (also kein Timeout).

{
    "functionTimeout": "00:05:00"
}

healthMonitor

Konfigurationseinstellungen für Host Health Monitor.

{
    "healthMonitor": {
        "enabled": true,
        "healthCheckInterval": "00:00:10",
        "healthCheckWindow": "00:02:00",
        "healthCheckThreshold": 6,
        "counterThreshold": 0.80
    }
}
Eigenschaft Standard Beschreibung
aktiviert wahr Gibt an, ob die Funktion aktiviert ist.
healthCheckInterval 10 Sekunden Das Zeitintervall zwischen den regelmäßigen Integritätsüberprüfungen im Hintergrund.
healthCheckWindow 2 Minuten Ein gleitendes Zeitfenster, das mit der healthCheckThreshold-Einstellung verwendet wird.
healthCheckThreshold 6 Maximale Anzahl von fehlerhaften Integritätsüberprüfungen, bevor ein Neustart des Hosts initiiert wird.
counterThreshold 0.80 Der Schwellenwert, an dem ein Leistungsindikator als fehlerhaft betrachtet wird.

http

Konfigurationseinstellungen für HTTP-Trigger und -Bindungen.

{
    "http": {
        "routePrefix": "api",
        "maxOutstandingRequests": 200,
        "maxConcurrentRequests": 100,
        "dynamicThrottlesEnabled": true
    }
}
Eigenschaft Standard Beschreibung
dynamicThrottlesEnabled Falsch 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.
Maximale gleichzeitige Anfragen unbeschränkt (-1) Die maximale Anzahl von HTTP-Funktionen, die parallel ausgeführt werden. Dadurch können Sie die Parallelität steuern und somit die Verwaltung der Ressourcenverwendung vereinfachen. 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. Oder eine Funktion führt ausgehende Anforderungen an einen Dienst eines Drittanbieters durch, und die Rate dieser Aufrufe muss eingeschränkt werden. In diesen Fällen kann eine Drosselung hilfreich sein.
maxOutstandingRequests unbeschränkt (-1) Die maximale Anzahl ausstehender Anforderungen, die zu einem beliebigen Zeitpunkt gespeichert werden. Dieser Grenzwert umfasst Anforderungen in der Warteschlange, deren Ausführung aber noch nicht gestartet wurde, sowie alle laufenden Ausführungen. Alle eingehenden Anforderungen über diesem Grenzwert werden mit der Antwort 429 „Ausgelastet“ zurückgewiesen. 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. Damit wird nur das Queuing gesteuert, das innerhalb des Ausführungspfads des Skripthosts auftritt. Andere Warteschlangen, z.B. die ASP.NET-Anforderungswarteschlange, sind von dieser Einstellung nicht betroffen und werden weiterhin verwendet.
routePrefix api Das Routenpräfix, das für alle Routen gilt. Verwenden Sie eine leere Zeichenfolge, um das Standardpräfix zu entfernen.

id

Die eindeutige ID für einen Jobhost. Dies kann eine GUID in Kleinbuchstaben mit entfernten Bindestrichen sein. Für die lokale Ausführung erforderlich. Bei der Ausführung in Azure empfehlen wir, keinen ID-Wert festzulegen. Wenn id nicht angegeben ist, wird in Azure automatisch eine ID generiert.

Wenn Sie ein Speicherkonto für mehrere Funktions-Apps verwenden, stellen Sie sicher, dass jede Funktions-App einen anderen Wert für id aufweist. Sie können die id-Eigenschaft auslassen oder id für jede Funktions-App manuell auf einen anderen Wert festlegen. Der Zeitgebertrigger verwendet eine Speichersperre, um sicherzustellen, dass nur eine Zeitgeberinstanz vorhanden ist, wenn eine Funktions-App auf mehrere Instanzen horizontal hochskaliert wird. Wenn zwei Funktions-Apps dasselbe id aufweisen und beide einen Timer-Trigger verwenden, wird nur ein Timer ausgeführt.

{
    "id": "9f4ea53c5136457d883d685e57164f08"
}

Protokollierungstool

Steuerelemente, die nach Protokollen filtern, die von einem ILogger-Objekt oder von context.log geschrieben werden.

{
    "logger": {
        "categoryFilter": {
            "defaultLevel": "Information",
            "categoryLevels": {
                "Host": "Error",
                "Function": "Error",
                "Host.Aggregator": "Information"
            }
        }
    }
}
Eigenschaft Standard Beschreibung
Kategorie-Filter n/v Gibt die Filterung nach Kategorie an.
Standardniveau Information Für alle nicht im categoryLevels-Array angegebenen Kategorien, werden Protokolle auf dieser und darüber liegenden Ebenen an Application Insights gesendet.
categoryLevels n/v Ein Array von Kategorien, das den minimalen Protokolliergrad angibt, der für die einzelnen Kategorien an Application Insights gesendet wird. Die hier angegebene Kategorie steuert alle Kategorien, die mit demselben Wert beginnen und längere Werte haben Vorrang. In der vorhergehenden host.json-Beispieldatei werden alle Kategorien, die mit „Host.Aggregator“ beginnen, auf der Information-Ebene protokolliert. Alle anderen Kategorien, die mit „Host“ beginnen, z. B. „Host.Executor“, werden auf der Error-Ebene protokolliert.

queues

Konfigurationseinstellungen für Trigger und Bindungen der Speicherwarteschlange.

{
    "queues": {
      "maxPollingInterval": 2000,
      "visibilityTimeout" : "00:00:30",
      "batchSize": 16,
      "maxDequeueCount": 5,
      "newBatchThreshold": 8
    }
}
Eigenschaft Standard Beschreibung
maximales Abfrageintervall 60000 Das maximale Intervall in Millisekunden zwischen Warteschlangenumfragen.
visibilityTimeout 0 Das Zeitintervall zwischen Wiederholungsversuchen, wenn bei der Verarbeitung einer Nachricht ein Fehler auftritt.
batchSize 16 Die Anzahl der Warteschlangennachrichten, die die Functions-Runtime gleichzeitig abruft und parallel verarbeitet. Wenn die Anzahl, die verarbeitet wird, auf newBatchThreshold sinkt, ruft die Runtime einen weiteren Batch ab und beginnt mit der Verarbeitung dieser Nachrichten. Aus diesem Grund beträgt die maximale Anzahl der pro Funktion verarbeiteten Nachrichten batchSize plus newBatchThreshold. Dieser Grenzwert gilt separat für jede Funktion, die durch die Warteschlange ausgelöst wird.

Wenn Sie eine parallele Ausführung für in einer Warteschlange empfangene Nachrichten vermeiden möchten, können Sie batchSize auf „1“ festlegen. Diese Einstellung verhindert Parallelität jedoch nur so lange, wie Ihre Funktions-App auf einem einzelnen virtuellen Computer (VM) ausgeführt wird. Wenn die Funktions-App horizontal auf mehrere virtuelle Computer hochskaliert wird, kann jeder virtuelle Computer eine Instanz jeder durch die Warteschlange ausgelösten Funktion ausführen.

Der maximale Wert für batchSize beträgt 32.
maxDequeueCount 5 Die Anzahl der Versuche zum Verarbeiten einer Nachricht, bevor diese in die Warteschlange für nicht verarbeitete Nachrichten verschoben wird.
newBatchThreshold batchSize/2 Wenn die Anzahl der gleichzeitig verarbeiteten Nachrichten auf diesen Wert sinkt, ruft die Runtime einen weiteren Batch ab.

SendGrid

Konfigurationseinstellung für die SendGrind-Ausgabebindung

{
    "sendGrid": {
        "from": "Contoso Group <admin@contoso.com>"
    }
}    
Eigenschaft Standard Beschreibung
from n/v E-Mail-Adresse des Absenders für alle Funktionen.

serviceBus

Konfigurationseinstellung für Service Bus-Trigger und -Bindungen.

{ 
    "serviceBus": {
      "maxConcurrentCalls": 16,
      "prefetchCount": 100,
      "autoRenewTimeout": "00:05:00",
      "autoComplete": true
    }
}
Eigenschaft Standard Beschreibung
maxConcurrentCalls 16 Die maximale Anzahl gleichzeitiger Aufrufe für den Rückruf, der vom Nachrichtensystem initiiert werden soll. Die Functions-Runtime verarbeitet standardmäßig mehrere Nachrichten gleichzeitig. Um die Runtime anzuweisen, jeweils nur eine Warteschlangen- oder Themennachricht zu verarbeiten, legen Sie maxConcurrentCalls auf „1“ fest.
prefetchCount n/v Der standardmäßige PrefetchCount, der vom zugrunde liegenden ServiceBusReceiver verwendet wird.
autoRenewTimeout 00:05:00 Die maximale Zeitspanne, in der die Nachrichtensperre automatisch erneuert wird.
autoComplete wahr Bei TRUE vervollständigt der Trigger die Nachrichtenverarbeitung bei erfolgreicher Ausführung des Vorgangs automatisch. Wenn falsch, liegt es in der Verantwortung der Funktion, die Nachricht vor der Rückgabe zu vervollständigen.

singleton

Konfigurationseinstellungen für das Singleton-Sperrverhalten. Weitere Informationen finden Sie unter GitHub-Problem zur Singleton-Unterstützung.

{
    "singleton": {
      "lockPeriod": "00:00:15",
      "listenerLockPeriod": "00:01:00",
      "listenerLockRecoveryPollingInterval": "00:01:00",
      "lockAcquisitionTimeout": "00:01:00",
      "lockAcquisitionPollingInterval": "00:00:03"
    }
}
Eigenschaft Standard Beschreibung
lockPeriod 00:00:15 Der Zeitraum, für den Sperren auf Funktionsebene gelten. Die Schlösser erneuern sich automatisch.
listenerLockPeriod 00:01:00 Der Zeitraum, für den Listenersperren gelten.
listenerLockRecoveryPollingInterval 00:01:00 Das Zeitintervall für die Wiederherstellung der Listenersperre, wenn eine Listenersperre nicht beim Start abgerufen werden konnte.
lockAcquisitionTimeout 00:01:00 Die maximale Zeitspanne, in der die Runtime versucht, eine Sperre abzurufen.
lockAcquisitionPollingInterval n/v Das Intervall zwischen den Versuchen, eine Sperre abzurufen.

tracing

Version 1.x

Konfigurationseinstellungen für Protokolle, die Sie mithilfe eines TraceWriter-Objekts erstellen. Weitere Informationen finden Sie unter [C#-Protokollierung].

{
    "tracing": {
      "consoleLevel": "verbose",
      "fileLoggingMode": "debugOnly"
    }
}
Eigenschaft Standard Beschreibung
consoleLevel info Die Ablaufverfolgungsebene für die Konsolenprotokollierung. Optionen sind: off, error, warning, info und verbose.
fileLoggingMode debugOnly Die Ablaufverfolgungsebene für die Dateiprotokollierung. Optionen sind never, always, debugOnly.

watchDirectories

Eine Reihe von Verzeichnissen mit freigegebenem Code, die auf Änderungen überwacht werden sollte. Dadurch wird sichergestellt, dass Änderungen am Code in diesen Verzeichnissen von Ihren Funktionen übernommen werden.

{
    "watchDirectories": [ "Shared" ]
}

Nächste Schritte