Informations de référence sur le 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.

Notes

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. Toutes les autres propriétés sont facultatives sauf indication contraire.

aggregator

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é Default Description
batchSize 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.

applicationInsights

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

{
    "applicationInsights": {
        "sampling": {
          "isEnabled": true,
          "maxTelemetryItemsPerSecond" : 5
        }
    }
}
Propriété Default Description
isEnabled true Active ou désactive l’échantillonnage.
maxTelemetryItemsPerSecond 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é Default Description
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.
Protocol 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.

Notes

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 les mêmes, mais la section « durableTask » de host.json doit être dans la racine de la configuration host.json plutôt que sous la forme 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": true,
      "useTablePartitionManagement": false,
      "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",
          "Pending",
          "Failed",
          "Terminated"
        ]
      }
    },
    "maxConcurrentActivityFunctions": 10,
    "maxConcurrentOrchestratorFunctions": 10,
    "extendedSessionsEnabled": false,
    "extendedSessionIdleTimeoutInSeconds": 30,
    "useAppLease": true,
    "useGracefulShutdown": false,
    "maxEntityOperationBatchSize": 50,
    "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é Default Description
hubName TestHubName (DurableFunctionsHub si vous utilisez Durable Functions 1.x) D'autres noms de hub de tâches peuvent être utilisés pour isoler plusieurs applications Durable Functions les unes des autres, même si elles s'appuient sur le même principal 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 JavaScript et C# : 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, auquel cas le répartiteur attend avant de retirer des messages supplémentaires de la file d’attente.
partitionCount 4 Nombre de partitions pour la file d’attente de contrôle. Doit être un entier positif compris entre 1 et 16.
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.
maxQueuePollingInterval 30 secondes Intervalle d’interrogation de la file d’attente des éléments de travail et de contrôle maximum, indiqué 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 le paramètre 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 false 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 false Valeur indiquant s’il faut écrire les événements de relecture d’orchestration à Application Insights.
eventGridTopicEndpoint URL du point de terminaison de la rubrique personnalisée Azure Event Grid. Lorsque 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 de 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’intervalle avant nouvelle tentative de publication Event Grid 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 true Quand la valeur est true, les applications nécessitent l’acquisition d’un bail d’objet blob au niveau de l’application pour 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 false 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.
useTablePartitionManagement false 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 la version 2.10.0. Cette fonctionnalité est actuellement en préversion et n’est pas encore compatible avec le plan Consommation.
useGracefulShutdown false (Préversion) Activez l’arrêt approprié pour réduire le risque d’échecs d’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 false Lorsque défini sur true, indique au Durable Task Framework d’enregistrer les entrées d’activité dans la table d’historique. Cela permet l’affichage des entrées de fonction d’activité lors de l’interrogation de l’historique d’orchestration.

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.

functions

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 avant expiration du délai 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 de l’analyse d’intégrité d’hôtes.

{
    "healthMonitor": {
        "enabled": true,
        "healthCheckInterval": "00:00:10",
        "healthCheckWindow": "00:02:00",
        "healthCheckThreshold": 6,
        "counterThreshold": 0.80
    }
}
Propriété Default Description
enabled true Indique si la fonctionnalité est activée.
healthCheckInterval 10 secondes L’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 Le seuil auquel un compteur de performance est considéré comme non intègre.

http

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

{
    "http": {
        "routePrefix": "api",
        "maxOutstandingRequests": 200,
        "maxConcurrentRequests": 100,
        "dynamicThrottlesEnabled": true
    }
}
Propriété Default Description
dynamicThrottlesEnabled false 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ête vers un service tiers, et qui émet à ce titre des appels dont le débit doit être limité. Dans ces cas, il peut être pertinent d’appliquer une limitation.
maxOutstandingRequests illimité (-1) Nombre maximal de requêtes en attente qui ont lieu à 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.
routePrefix 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 de fonction, assurez-vous que chaque application de fonction 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 vous assurer qu’il n’y aura qu’une seule instance du minuteur lorsqu’une application de fonction augmentera la taille de 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é Default Description
categoryFilter n/a Spécifie un filtrage par catégorie.
defaultLevel Information 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 commençant par « Host », comme « Host.Executor », journalisent au niveau Error.

queues

Paramètre de configuration pour les 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é Default Description
maxPollingInterval 60000 Intervalle maximal (en millisecondes) entre les interrogations de la file d’attente.
visibilityTimeout 0 Intervalle de temps entre les nouvelles tentatives en cas d’échec du traitement d’un message.
batchSize 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 de messages incohérents.
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 pour la liaison de sortie SendGrind

{
    "sendGrid": {
        "from": "Contoso Group <admin@contoso.com>"
    }
}    
Propriété Default Description
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é Default Description
maxConcurrentCalls 16 Nombre maximal d’appels simultanés pour le 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 Valeur PrefetchCount par défaut qui est 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 true 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é Default Description
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 d’activité que vous créez à l’aide d’un objet TraceWriter. Pour en savoir plus, consultez [Journalisation C#].

{
    "tracing": {
      "consoleLevel": "verbose",
      "fileLoggingMode": "debugOnly"
    }
}
Propriété Default Description
consoleLevel info Niveau de suivi pour la journalisation de la console. Options : off, error, warning, info et verbose.
fileLoggingMode debugOnly Niveau de suivi pour 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 changements sont récupérés par vos fonctions.

{
    "watchDirectories": [ "Shared" ]
}

Étapes suivantes