Partager via


Référence du fichier host.json pour Azure Functions 1.x

Le fichier de métadonnées host.json contient des options de configuration qui affectent l’ensemble des fonctions d’une instance d’application de fonction. Cet article répertorie les paramètres disponibles pour le runtime version 1.x. Le schéma JSON est sur http://json.schemastore.org/host.

Remarque

Cet article concerne Azure Functions 1.x. Pour obtenir des informations de référence sur le fichier host.json dans Functions 2.x et versions ultérieures, consultez Informations de référence sur le fichier host.json pour Azure Functions 2.x.

Les autres options de configuration d’application de fonction sont managées dans vos paramètres d’application.

Certains paramètres host.json sont uniquement utilisés lors de l’exécution locale dans le fichier local.settings.json.

Exemple de fichier host.json

L’exemple de fichier host.json suivant contient toutes les options possibles spécifiées.

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

Les sections suivantes de cet article expliquent chaque propriété de niveau supérieur. Tous sont facultatifs sauf indication contraire.

agrégateur

Spécifie le nombre d’appels de fonction agrégés lorsque vous calculez des métriques pour Application Insights.

{
    "aggregator": {
        "batchSize": 1000,
        "flushTimeout": "00:00:30"
    }
}
Propriété Par défaut Descriptif
taille de lot 1 000 Nombre maximal de requêtes à agréger.
flushTimeout 00:00:30 Période maximale d’agrégation.

Les appels de fonction sont agrégés lorsque la première des deux limites est atteinte.

AnalysesDesApplications

Contrôle la fonctionnalité d’échantillonnage dans Application Insights.

{
    "applicationInsights": {
        "sampling": {
          "isEnabled": true,
          "maxTelemetryItemsPerSecond" : 5
        }
    }
}
Propriété Par défaut Descriptif
isEnabled vrai Active ou désactive l’échantillonnage.
maxTelemetryItemsPerSecond (nombre maximal d'éléments de télémétrie par seconde) 5 Seuil à partir duquel l’échantillonnage débute.

Base de données de documents

Paramètres de configuration pour le déclencheur et les liaisons Azure Cosmos DB.

{
    "documentDB": {
        "connectionMode": "Gateway",
        "protocol": "Https",
        "leaseOptions": {
            "leasePrefix": "prefix1"
        }
    }
}
Propriété Par défaut Descriptif
GatewayMode Passerelle Le mode de connexion utilisé par la fonction lors de la connexion au service Azure Cosmos DB. Les options sont Direct et Gateway.
Protocole Https Le protocole de connexion utilisé par la fonction lors de la connexion au service Azure Cosmos DB. Voir l’explication des deux modes.
leasePrefix n/a Préfixe de bail à utiliser dans toutes les fonctions d’une application.

durableTask

Paramètres de configuration de Fonctions durables.

Remarque

Toutes les versions principales de Durable Functions sont prises en charge sur toutes les versions du runtime Azure Functions. Toutefois, le schéma de la configuration host.json diffère légèrement selon la version du runtime Azure Functions et la version de l’extension Durable Functions que vous utilisez.

Le code suivant fournit deux exemples de durableTask paramètres dans host.json: un pour Durable Functions 2.x et un pour Durable Functions 1.x. Vous pouvez utiliser les deux exemples avec Azure Functions 2.0 et 3.0. Avec Azure Functions 1.0, les paramètres disponibles sont identiques, mais la durableTask section de host.json se trouve à la racine de la configuration host.json au lieu d’être un champ sous 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
  }
 }
}
Propriété Valeur par défaut Descriptif
hubName TestHubName (DurableFunctionsHub dans v1.x) Nom du hub qui stocke l’état actuel d’une application de fonction. Les noms de hubs de tâches doivent commencer par une lettre et contenir uniquement des lettres et des chiffres. Si vous ne spécifiez pas de nom, la valeur par défaut est utilisée. D’autres noms de hub de tâches peuvent être utilisés pour isoler plusieurs applications Durable Functions les unes des autres, même s’ils utilisent le même serveur principal de stockage. Pour en savoir plus, consultez la section relative aux hubs de tâches.
defaultVersion Version par défaut à affecter à de nouvelles instances d’orchestration. Lorsque vous spécifiez une version, de nouvelles instances d’orchestration sont définitivement associées à cette valeur de version. Ce paramètre est utilisé par la fonctionnalité de contrôle de version d’orchestration pour permettre des scénarios tels que des déploiements sans temps d’arrêt avec des changements cassants. Vous pouvez utiliser n’importe quelle valeur de chaîne pour la version.
versionMatchStrategy CurrentOrOlder Valeur qui spécifie la mise en correspondance des versions d’orchestration lorsque les fonctions d’orchestrateur sont chargées. Les valeurs valides sont None, Strictet CurrentOrOlder. Pour obtenir des explications détaillées, consultez Contrôle de version d’orchestration.
versionFailureStrategy Rejeter Valeur qui spécifie ce qui se passe quand une version d’orchestration ne correspond pas à la valeur actuelle defaultVersion . Les valeurs valides sont Reject et Fail. Pour obtenir des explications détaillées, consultez Contrôle de version d’orchestration.
controlQueueBatchSize 32 Nombre de messages à extraire de la file d’attente de contrôle en une seule fois.
controlQueueBufferThreshold Plan de consommation pour Python : 32
Plan de consommation pour d’autres langues : 128
Plan dédié ou Premium : 256
Nombre de messages de file d’attente de contrôle pouvant être mis en mémoire tampon à la fois. Lorsque le nombre spécifié est atteint, le répartiteur attend avant de retirer d'autres messages de la file d'attente. Dans certaines situations, la réduction de cette valeur peut réduire considérablement la consommation de mémoire.
nombre de partitions 4 Nombre de partitions pour la file d’attente de contrôle. Cette valeur doit être un entier positif compris entre 1 et 16. La modification de cette valeur nécessite la configuration d’un nouveau hub de tâches.
controlQueueVisibilityTimeout 00:05:00 Délai d’expiration de la visibilité des messages supprimés de la file d’attente de contrôle au format hh:mm:ss.
workItemQueueVisibilityTimeout 00:05:00 Délai d’expiration de la visibilité des messages supprimés de la file d’attente de l’élément de travail au format hh:mm:ss.
RécupérerAutomatiquementLesGrandsMessages vrai Valeur qui spécifie s’il faut récupérer des messages volumineux dans les requêtes d’état d’orchestration. Lorsque ce paramètre est truedéfini, les messages volumineux qui dépassent la limite de taille de file d’attente sont récupérés. Lorsque ce paramètre est false, une URL d’objet blob qui pointe vers chaque message volumineux est récupérée.
maxConcurrentActivityFunctions Plan de consommation : 10
Plan dédié ou Premium : 10 fois le nombre de processeurs sur l’ordinateur actuel
Nombre maximal de fonctions d’activité pouvant être traitées simultanément sur une seule instance d’hôte.
maxConcurrentOrchestratorFunctions Plan de consommation : 5
Plan dédié ou Premium : 10 fois le nombre de processeurs sur l’ordinateur actuel
Nombre maximal de fonctions d’orchestrateur pouvant être traitées simultanément sur une seule instance d’hôte.
maxConcurrentEntityFunctions Plan de consommation : 5
Plan dédié ou Premium : 10 fois le nombre de processeurs sur l’ordinateur actuel
Nombre maximal de fonctions d’entité qui peuvent être traitées simultanément sur une instance d’hôte unique. Ce paramètre s’applique uniquement lorsque vous utilisez le planificateur de tâches durable. Sinon, le nombre maximal d’exécutions d’entités simultanées est limité à la maxConcurrentOrchestratorFunctions valeur.
maxQueuePollingInterval 00:00:30 Intervalle d’interrogation de la file d’attente des éléments de travail et de contrôle maximum au format hh:mm:ss. Des valeurs plus élevées peuvent entraîner une plus grande latence lors du traitement des messages. Des valeurs plus faibles peuvent entraîner des coûts de stockage plus importants, suite à un nombre plus important de transactions de stockage.
maxOrchestrationActions 100 000 Le nombre maximal d’actions qu’une fonction d’orchestrateur peut effectuer pendant un cycle d’exécution unique.
connectionName (v2.7.0 et versions ultérieures)
connectionStringName (v2.x)
azureStorageConnectionStringName (v1.x)
AzureWebJobsStorage Nom d’un paramètre d’application ou d’une collection de paramètres spécifiant la façon de se connecter aux ressources de Stockage Azure sous-jacentes. Lorsque vous fournissez un paramètre d’application unique, il doit s’agir d’une chaîne de connexion stockage Azure.
trackingStoreConnectionName (v2.7.0 et versions ultérieures)
trackingStoreConnectionStringName
Nom d’un paramètre d’application ou d’une collection de paramètres qui spécifie comment se connecter aux tables Historique et Instances, qui stockent l’historique d’exécution et les métadonnées sur les instances d’orchestration. Lorsque vous fournissez un paramètre d’application unique, il doit s’agir d’une chaîne de connexion stockage Azure. Si vous ne spécifiez pas de paramètre, la valeur connectionStringName (v2.x) ou la connexion de valeur azureStorageConnectionStringName (v1.x) est utilisée.
trackingStoreNamePrefix Préfixe à utiliser pour les tables d’historique et d’instances lorsque le paramètre trackingStoreConnectionStringName est spécifié. Si vous ne spécifiez pas de préfixe, la valeur par défaut est DurableTask utilisée. Si trackingStoreConnectionStringName n'est pas spécifié, les tables Historique et Instances utilisent la valeur hubName comme préfixe, et le paramètre trackingStoreNamePrefix est ignoré.
traceInputsAndOutputs faux Valeur qui indique s’il faut suivre les entrées et sorties des appels de fonction. Lorsque les événements d’exécution de fonction sont suivis, le comportement par défaut consiste à inclure le nombre d’octets dans les entrées sérialisées et les sorties pour les appels de fonction. Ce comportement fournit des informations minimales sur les entrées et les sorties afin de ne pas surcharger les journaux ni exposer involontairement des informations sensibles. Lorsque cette propriété est true, le contenu entier des entrées et sorties de fonction est journalisé.
traceReplayEvents faux Valeur indiquant s’il faut écrire les événements de relecture d’orchestration dans Application Insights.
logReplayEvents faux Valeur qui indique s’il faut journaliser les exécutions rejouées dans les journaux d’application.
eventGridTopicEndpoint URL du point de terminaison de rubrique personnalisée Azure Event Grid. Lorsque vous définissez cette propriété, les événements de notification du cycle de vie de l'orchestration sont publiés sur ce point final. Cette propriété prend en charge la résolution des paramètres d’application.
eventGridKeySettingName Nom du paramètre d’application qui contient la clé utilisée pour l’authentification avec la rubrique personnalisée Event Grid à l’URL EventGridTopicEndpoint .
eventGridPublishRetryCount 0 Nombre de nouvelles tentatives si la publication dans la rubrique Event Grid échoue.
eventGridPublishRetryInterval 00:05:00 L'intervalle de réessai de publication pour Event Grid au format hh:mm:ss.
eventGridPublishEventTypes Liste des types d’événement à publier sur Event Grid. Si vous ne spécifiez aucun type, tous les types d’événements sont publiés. Les valeurs autorisées incluent Started, , CompletedFailedet Terminated.
extendedSessionsEnabled faux Valeur qui spécifie si les sessions d’orchestrateur de session et de fonction d’entité sont mises en cache.
extendedSessionIdleTimeoutInSeconds 30 Le nombre de secondes pendant lesquelles une fonction d’orchestrateur ou d’entité inactive reste en mémoire avant d’être déchargée. Ce paramètre est utilisé uniquement lorsque le extendedSessionsEnabled paramètre est true.
useAppLease vrai Valeur qui indique si les applications doivent acquérir un bail de blob au niveau de l’application avant de traiter les messages du hub de tâches. Pour plus d’informations, consultez La récupération d’urgence et la géo-distribution dans Durable Functions. Ce paramètre est disponible à partir de la version 2.3.0.
useLegacyPartitionManagement faux Valeur qui spécifie le type d’algorithme de gestion de partition à utiliser. Lorsque ce paramètre est falsedéfini, un algorithme est utilisé qui réduit la possibilité d’exécution de fonction en double lors d’un scale-out. Ce paramètre est disponible à partir de la version 2.3.0. La définition de cette valeur true n’est pas recommandée.
useTablePartitionManagement Dans v3.x : true
Dans v2.x : false
Valeur qui spécifie le type d’algorithme de gestion de partition à utiliser. Lorsque ce paramètre est truedéfini, un algorithme est utilisé pour réduire les coûts des comptes Stockage Azure v2. Ce paramètre est disponible à partir de WebJobs.Extensions.DurableTask v2.10.0. L’utilisation de ce paramètre avec une identité managée nécessite WebJobs.Extensions.DurableTask v3.x ou version ultérieure, ou Worker.Extensions.DurableTask v1.2.x ou version ultérieure.
useGracefulShutdown faux (Préversion) Valeur qui indique s’il faut procéder à un arrêt en douceur pour réduire le risque d’échec des exécutions en cours de fonctions en raison de l’arrêt de l’hôte.
maxEntityOperationBatchSize Plan de consommation : 50
Plan dédié ou Premium : 5 000
Le nombre maximal d’opérations d’entité traitées comme un lot. Si cette valeur est 1, le traitement par lots est désactivé et un appel de fonction distinct traite chaque message d’opération. Ce paramètre est disponible à partir de la version 2.6.1.
storeInputsInOrchestrationHistory faux Valeur qui spécifie comment stocker les entrées. Lorsque ce paramètre est truedéfini, Durable Task Framework enregistre les entrées d’activité dans la table Historique et les entrées de fonction d’activité apparaissent dans les résultats de la requête d’historique d’orchestration.
maxGrpcMessageSizeInBytes 4,194,304 Valeur entière qui définit la taille maximale, en octets, des messages que le client d’appel de procédure distante générique (gRPC) peut recevoir. L'implémentation de DurableTaskClient utilise le client gRPC pour gérer les instances d'orchestration. Ce paramètre s’applique aux applications Java et Worker isolés .NET Durable Functions.
grpcHttpClientTimeout 00:01:40 Délai d’expiration au format hh :mm :ss pour le client HTTP utilisé par le client gRPC dans Durable Functions. Le client est actuellement pris en charge pour les applications worker isolées .NET (.NET 6 et versions ultérieures) et pour les applications Java.
QueueClientMessageEncoding UTF8 Stratégie de codage pour les messages de Stockage File d’attente Azure. Les stratégies valides sont Unicode Transformation Format–8 bits (UTF8) et Base64. Ce paramètre s’applique lorsque vous utilisez Microsoft.Azure.WebJobs.Extensions.DurableTask 3.4.0 ou version ultérieure, ou Microsoft.Azure.Functions.Worker.Extensions.DurableTask 1.7.0 ou version ultérieure.

La plupart de ces paramètres sont destinés à l’optimisation des performances. Pour plus d’informations, consultez Performances et échelle.

eventHub

Paramètres de configuration pour les déclencheurs et liaisons Event Hub.

fonctions

Liste des fonctions que l’hôte de travail exécute. Un tableau vide désigne l’exécution de toutes les fonctions. Utilisée uniquement pour une exécution locale. Dans les applications de fonction dans Azure, vous devez plutôt suivre la procédure décrite dans Guide pratique pour désactiver des fonctions dans Azure Functions pour désactiver des fonctions spécifiques au lieu d’utiliser ce paramètre.

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

functionTimeout

Indique la durée du délai d’expiration de toutes les fonctions. Dans les plans de consommation serverless, la plage valide est comprise entre 1 seconde et 10 minutes, et la valeur par défaut est de 5 minutes. Dans un plan App Service, il n’existe aucune limite globale et la valeur par défaut est null, ce qui indique qu’il n’y a pas de délai d’expiration.

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

healthMonitor

Paramètres de configuration pour la surveillance de santé des hôtes.

{
    "healthMonitor": {
        "enabled": true,
        "healthCheckInterval": "00:00:10",
        "healthCheckWindow": "00:02:00",
        "healthCheckThreshold": 6,
        "counterThreshold": 0.80
    }
}
Propriété Par défaut Descriptif
enabled vrai Indique si la fonctionnalité est activée.
intervalleDeVérificationDeSanté 10 secondes Intervalle de temps entre les contrôles d’intégrité périodiques en arrière-plan.
healthCheckWindow 2 minutes Une fenêtre de temps coulissante utilisée avec le paramètre healthCheckThreshold.
healthCheckThreshold 6 Nombre maximal de fois où le contrôle d’intégrité peut échouer avant le lancement d’un recyclage de l’hôte.
counterThreshold 0.80 Seuil auquel un compteur de performance est considéré comme non sain.

http

Paramètre de configuration pour les déclencheurs et liaisons http.

{
    "http": {
        "routePrefix": "api",
        "maxOutstandingRequests": 200,
        "maxConcurrentRequests": 100,
        "dynamicThrottlesEnabled": true
    }
}
Propriété Par défaut Descriptif
dynamicThrottlesEnabled faux Lorsqu’il est activé, ce paramètre provoque la vérification périodique des compteurs de performance système, comme les connexions/les threads/les processus/la mémoire/le processeur, etc., par le pipeline de traitement des requêtes. Si l’un de ces compteurs dépasse un seuil supérieur intégré (80 %), les requêtes sont rejetées avec une réponse 429 (trop de demandes) jusqu’à ce qu’un niveau normal soit retrouvé.
maxConcurrentRequests illimité (-1) Nombre maximal de fonctions HTTP exécutées en parallèle. Ce paramètre vous permet de contrôler la concurrence, et ainsi facilite la gestion de l’utilisation des ressources. Par exemple, vous pouvez disposer d’une fonction HTTP qui utilise de nombreuses ressources système (mémoire/processeur/sockets) et qui provoque par conséquent des situations où la concurrence est trop élevée. Vous pouvez également avoir une fonction qui effectue des requêtes vers un service tiers, et ces appels doivent être limités en débit. Dans ces cas, il peut être pertinent d’appliquer une limitation.
maxOutstandingRequests illimité (-1) Nombre maximal de requêtes en attente retenues à un moment donné. La limite inclut les requêtes qui sont en file d’attente, mais dont l’exécution n’a pas démarré, ainsi que les exécutions en cours. Toutes les requêtes entrantes au-delà de cette limite sont rejetées avec une réponse 429 « Trop occupé ». Ainsi, les appelants peuvent appliquer des stratégies temporelles de nouvelle tentative et vous êtes en mesure de contrôler les latences maximales de requêtes. Ce paramètre contrôle uniquement la mise en file d’attente qui se produit dans le chemin d’accès d’exécution de l’hôte de script. Les autres files d’attente, telles que la file d’attente des requêtes ASP.NET, sont toujours actives et ne sont pas concernées par ce paramètre.
préfixe de route api Préfixe d’itinéraire qui s’applique à tous les itinéraires. Utilisez une chaîne vide pour supprimer le préfixe par défaut.

id

ID unique d’un hôte de travail. Il peut s’agir d’un GUID en minuscules dont les tirets ont été supprimés. Requis lors d’une exécution locale. Lors de l’exécution dans Azure, nous vous recommandons de pas définir de valeur d’ID. Un ID est généré automatiquement dans Azure lorsque id est omis.

Si vous partagez un compte de stockage entre plusieurs applications fonctionnelles, assurez-vous que chaque application fonctionnelle a une id différente. Vous pouvez omettre la propriété id ou définir manuellement chaque id de l’application de fonction sur une autre valeur. Le déclencheur du minuteur utilise un verrou de stockage pour garantir qu’il n’y aura qu’une seule instance du minuteur quand une application de fonction fera l’objet d’un scale-out vers plusieurs instances. Si deux applications de fonction partagent le même id et que chacune utilise un déclencheur de minuteur, un seul minuteur s’exécute.

{
    "id": "9f4ea53c5136457d883d685e57164f08"
}

logger

Contrôle le filtrage des journaux d’activité écrits par un objet ILogger ou par context.log.

{
    "logger": {
        "categoryFilter": {
            "defaultLevel": "Information",
            "categoryLevels": {
                "Host": "Error",
                "Function": "Error",
                "Host.Aggregator": "Information"
            }
        }
    }
}
Propriété Par défaut Descriptif
Filtre de catégorie n/a Spécifie un filtrage par catégorie.
niveau par défaut Informations Pour toutes les catégories non spécifiées dans le tableau categoryLevels, envoie les journaux d’activité de ce niveau et des niveaux supérieurs à Application Insights.
categoryLevels n/a Tableau des catégories qui spécifie le niveau de journalisation minimal à envoyer à Application Insights pour chaque catégorie. La catégorie indiquée ici contrôle toutes les catégories qui commencent par la même valeur, et les valeurs plus longues sont prioritaires. Dans l’exemple de fichier host.json précédent, toutes les catégories qui commencent par « Host.Aggregator » journalisent au niveau Information. Toutes les autres catégories qui commencent par « Host », comme « Host.Executor », journalisent au niveau Error.

queues

Paramètre de configuration des déclencheurs et liaisons de file d’attente de stockage.

{
    "queues": {
      "maxPollingInterval": 2000,
      "visibilityTimeout" : "00:00:30",
      "batchSize": 16,
      "maxDequeueCount": 5,
      "newBatchThreshold": 8
    }
}
Propriété Par défaut Descriptif
maxPollingInterval 60000 Intervalle maximal en millisecondes entre les sondages de la file d’attente.
visibilityTimeout 0 Intervalle de temps entre les nouvelles tentatives en cas d’échec du traitement d’un message.
taille de lot 16 Le nombre de messages de file d’attente que le runtime Functions récupère simultanément et traite en parallèle. Quand le nombre de messages en cours de traitement descend à newBatchThreshold, le runtime obtient un autre lot et commence à traiter ces messages. Par conséquent, le nombre maximal de messages traités simultanément par fonction est batchSize plus newBatchThreshold. Cette limite s’applique séparément à chaque fonction déclenchée par une file d’attente.

Si vous souhaitez éviter les exécutions parallèles pour les messages reçus sur une file d’attente, vous pouvez définir batchSize sur 1. Toutefois, ce paramètre évite les opérations simultanées uniquement pendant l’exécution de votre application de fonction sur une machine virtuelle unique. Si l’application de fonction augmente la taille des instances sur plusieurs machines virtuelles, chaque machine virtuelle peut exécuter une instance de chaque fonction déclenchée par une file d’attente.

La valeur batchSize maximale est de 32.
maxDequeueCount 5 Nombre de tentatives de traitement d’un message avant de le placer dans la file d’attente des messages empoisonnés.
newBatchThreshold batchSize/2 Quand le nombre de messages traités simultanément passe en dessous de cette valeur, le runtime récupère un autre lot.

SendGrid

Paramètres de configuration de la liaison de sortie SendGrind

{
    "sendGrid": {
        "from": "Contoso Group <admin@contoso.com>"
    }
}    
Propriété Par défaut Descriptif
de n/a Adresse e-mail de l’expéditeur dans toutes les fonctions.

serviceBus

Paramètre de configuration pour les déclencheurs et liaisons Service Bus.

{ 
    "serviceBus": {
      "maxConcurrentCalls": 16,
      "prefetchCount": 100,
      "autoRenewTimeout": "00:05:00",
      "autoComplete": true
    }
}
Propriété Par défaut Descriptif
maxConcurrentCalls 16 Nombre maximal d’appels simultanés vers un rappel que la pompe de messages doit initier. Par défaut, le runtime Functions traite plusieurs messages simultanément. Pour que le runtime ne traite qu’un message de file d’attente ou de rubrique à la fois, définissez maxConcurrentCalls sur 1.
prefetchCount n/a La valeur par défaut de PrefetchCount qui sera utilisée par l’instance ServiceBusReceiver sous-jacente.
autoRenewTimeout 00:05:00 Durée maximale pendant laquelle le verrouillage de message doit être renouvelé automatiquement.
autoComplete vrai Lorsque la valeur est true, le déclencheur termine automatiquement le traitement du message en cas d’exécution réussie de l’opération. Lorsque la valeur est false, la fonction est chargée de terminer le message avant de le retourner.

singleton

Paramètres de configuration du comportement de verrouillage Singleton. Pour plus d’informations, consultez l’article sur le problème de GitHub relatif à la prise en charge de singleton.

{
    "singleton": {
      "lockPeriod": "00:00:15",
      "listenerLockPeriod": "00:01:00",
      "listenerLockRecoveryPollingInterval": "00:01:00",
      "lockAcquisitionTimeout": "00:01:00",
      "lockAcquisitionPollingInterval": "00:00:03"
    }
}
Propriété Par défaut Descriptif
lockPeriod 00:00:15 Période pendant laquelle des verrous sont établis au niveau des fonctions. Les verrous se renouvellent automatiquement.
listenerLockPeriod 00:01:00 Période pendant laquelle des verrous sont établis au niveau des écouteurs.
listenerLockRecoveryPollingInterval 00:01:00 Intervalle de temps utilisé pour la récupération des verrous d’écouteurs si un verrou de ce type n’a pas pu être acquis au démarrage.
lockAcquisitionTimeout 00:01:00 Période de temps maximale pendant laquelle le runtime essaie d’acquérir un verrou.
lockAcquisitionPollingInterval n/a Intervalle écoulé entre les tentatives d’acquisition de verrou.

tracing

Version 1.x

Paramètres de configuration des journaux que vous créez en utilisant un objet TraceWriter. Pour en savoir plus, consultez [Journalisation en C#].

{
    "tracing": {
      "consoleLevel": "verbose",
      "fileLoggingMode": "debugOnly"
    }
}
Propriété Par défaut Descriptif
consoleLevel info Niveau de suivi pour la journalisation de la console. Options : off, error, warning, info et verbose.
mode de journalisation des fichiers debugOnly Niveau de suivi de la journalisation des fichiers. Options : never, always, debugOnly.

watchDirectories

Ensemble de répertoires de code partagé dont les modifications doivent être surveillées. Garantit que lorsque le code contenu dans ces répertoires est modifié, les modifications sont prises en compte par vos fonctions.

{
    "watchDirectories": [ "Shared" ]
}

Étapes suivantes