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 est légèrement différent selon la version du runtime Azure Functions et la version d’extension Durable Functions que vous utilisez. Les exemples suivants sont destinés à être utilisés avec Azure Functions 2.0 et 3.0. Dans les deux exemples, si vous utilisez Azure Functions 1.0, les paramètres disponibles sont identiques, mais la section « durableTask » de l'host.json doit aller à la racine de la configuration host.json au lieu d’un champ sous « extensions ».

{
 "extensions": {
  "durableTask": {
    "hubName": "MyTaskHub",
    "storageProvider": {
      "connectionStringName": "AzureWebJobsStorage",
      "controlQueueBatchSize": 32,
      "controlQueueBufferThreshold": 256,
      "controlQueueVisibilityTimeout": "00:05:00",
      "maxQueuePollingInterval": "00:00:30",
      "partitionCount": 4,
      "trackingStoreConnectionStringName": "TrackingStorage",
      "trackingStoreNamePrefix": "DurableTask",
      "useLegacyPartitionManagement": false,
      "useTablePartitionManagement": true,
      "workItemQueueVisibilityTimeout": "00:05:00",
    },
    "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
  }
 }
}

Les noms de hubs de tâches doivent commencer par une lettre et contenir uniquement des lettres et des chiffres. S’il n’est pas spécifié, le nom du hub de tâches par défaut d’une application de fonction est TestHubName. Pour en savoir plus, consultez la section relative aux hubs de tâches.

Propriété Par défaut Descriptif
hubName TestHubName (DurableFunctionsHub si vous utilisez Durable Functions 1.x) Des noms alternatifs de hub de tâches peuvent être utilisés pour isoler plusieurs applications Durable Functions les unes des autres, même si elles utilisent le même système de stockage.
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é/Premium : 256
Nombre de messages de file d’attente de contrôle qui peuvent être mis en mémoire tampon à la fois, après quoi le répartiteur attend avant de retirer des messages supplémentaires 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. 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 5 minutes Délai d’expiration de la visibilité des messages supprimés de la file d’attente de contrôle.
workItemQueueVisibilityTimeout 5 minutes Délai d’expiration de la visibilité des messages supprimés de la file d’attente des éléments de travail.
maxConcurrentActivityFunctions Plan de consommation : 10
Plan dédié/Premium : 10 fois le nombre de processeurs présents 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é/Premium : 10 fois le nombre de processeurs présents 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é/Premium : 10 fois le nombre de processeurs présents 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 lors de l’utilisation du planificateur de tâches durable. Sinon, le nombre maximal d’exécutions d’entités simultanées est limité à maxConcurrentOrchestratorFunctions.
maxQueuePollingInterval 30 secondes Fréquence 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.
connectionName (2.7.0 et versions ultérieures)
connectionStringName (2.x)
azureStorageConnectionStringName (1.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. Quand un seul paramètre d’application est fourni, il doit s’agir d’une chaîne de connexion à Stockage Azure.
trackingStoreConnectionName (2.7.0 et versions ultérieures)
trackingStoreConnectionStringName
Nom d’un paramètre d’application ou d’une collection de paramètres d’application spécifiant la façon de se connecter aux tables Historique et Instances. Quand un seul paramètre d’application est fourni, il doit s’agir d’une chaîne de connexion à Stockage Azure. S’il n’est pas spécifié, la connexion connectionStringName (Durable 2.x) ou azureStorageConnectionStringName (Durable 1.x) est utilisée.
trackingStoreNamePrefix Préfixe à utiliser pour les tables d’historique et d’instances lorsque le paramètre trackingStoreConnectionStringName est spécifié. S’il n’est pas défini, la valeur du préfixe par défaut correspond à DurableTask. Si trackingStoreConnectionStringName n’est pas spécifié, les tables d’historique et d’instances utilisent la valeur hubName en tant que préfixe, et tous les paramètres relatifs à trackingStoreNamePrefix sont ignorés.
traceInputsAndOutputs faux Valeur indiquant s’il faut tracer les entrées et sorties des appels de fonction. Lors du traçage d’événements d’exécution de fonctions, le nombre d’octets est inclus par défaut dans les entrées et les sorties sérialisées pour les appels de fonction. Ce comportement fournit un minimum d’informations sur l’apparence des entrées et sorties, sans encombrer les journaux d’activité ni exposer accidentellement des informations sensibles. La définition de cette propriété sur True amène la journalisation de la fonction par défaut à consigner la totalité du contenu des entrées et sorties de fonction.
traceReplayEvents faux Valeur indiquant s’il faut écrire les événements de relecture d’orchestration dans Application Insights.
eventGridTopicEndpoint URL du point de terminaison de rubrique personnalisée Azure Event Grid. Quand cette propriété est définie, les événements de notification du cycle de vie de l’orchestration sont publiés sur ce point de terminaison. Cette propriété prend en charge la résolution des paramètres de l’application.
eventGridKeySettingName Nom du paramètre d’application contenant la clé utilisée pour l’authentification à l’aide de la rubrique personnalisée Azure Event Grid sur EventGridTopicEndpoint.
eventGridPublishRetryCount 0 Nombre de nouvelles tentatives à effectuer en cas d’échec de la publication de la rubrique Event Grid.
eventGridPublishRetryInterval 5 minutes L'Event Grid publie l'intervalle de nouvelle tentative au format hh:mm:ss.
eventGridPublishEventTypes Liste des types d’événement à publier sur Event Grid. Si elle n’est pas spécifiée, cela signifie que tous les types d’événement seront publiés. Les valeurs autorisées sont Started, Completed, Failed et Terminated.
useAppLease vrai Quand la valeur est true, les applications nécessitent l’acquisition d’un bail d’objet blob au niveau de l’application avant de traiter les messages du hub de tâches. Pour plus d’informations, consultez la documentation Récupération d’urgence et géodistribution. Disponible à partir de la version 2.3.0.
useLegacyPartitionManagement faux Quand sa valeur est false, utilise un algorithme de gestion des partitions qui réduit le risque d’exécuter une fonction en double lors du scale-out. Disponible à partir de la version 2.3.0. La définition de cette valeur true n’est pas recommandée.
useTablePartitionManagement true dans les versions d’extension v3.x
false dans les versions d’extension v2.x
Lorsque défini sur true, il utilise un algorithme de gestion de partition conçu pour réduire les coûts des comptes Stockage Azure V2. 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 les versions Worker.Extensions.DurableTask antérieures à la version v1.2.x ou ultérieure.
useGracefulShutdown faux (Préversion) Activez l’arrêt progressif pour réduire le risque d’échecs de l’arrêt de l’hôte dans les exécutions de fonctions in-process.
maxEntityOperationBatchSize(2.6.1) Plan de consommation : 50
Plan dédié/Premium : 5000
Le nombre maximal d’opérations d’entité traitées comme un lot. Si la valeur est 1, le traitement par lot est désactivé et chaque message d’opération est traité par un appel de fonction distinct.
storeInputsInOrchestrationHistory faux Lorsque défini sur true, indique au Durable Task Framework d’enregistrer les entrées d’activité dans la table d’historique. Ceci permet l’affichage des entrées de fonction d’activité lors de l’interrogation de l’historique d’orchestration.
maxGrpcMessageSizeInBytes 4194304 Valeur entière qui définit la taille maximale, en octets, des messages que le client gRPC pour DurableTaskClient peut recevoir. Cela s’applique à Durable Functions .NET Isolé et Java.
grpcHttpClientTimeout 100 secondes Définit le délai d’expiration du client HTTP utilisé par le client gRPC dans Durable Functions, qui est actuellement pris en charge pour les applications isolées .NET (.NET 6 et versions ultérieures) et pour Java.

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
Activé 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.

pièce d'identité

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"
}

enregistreur

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.

Files

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.
saisie semi-automatique 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.

traçage

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 informations 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