Informazioni di riferimento su host.json per Funzioni di Azure 2.x e versioni successivehost.json reference for Azure Functions 2.x and later

Il file di metadati host.json contiene le opzioni di configurazione globali che interessano tutte le funzioni dell’app per le funzioni.The host.json metadata file contains global configuration options that affect all functions for a function app. Questo articolo elenca le impostazioni disponibili a partire dalla versione 2. x del runtime di funzioni di Azure.This article lists the settings that are available starting with version 2.x of the Azure Functions runtime.

Nota

Questo articolo è per funzioni di Azure 2. x e versioni successive.This article is for Azure Functions 2.x and later versions. Per informazioni di riferimento su host.json in Funzioni 1.x, vedere Informazioni di riferimento su host.json per Funzioni di Azure 1.x.For a reference of host.json in Functions 1.x, see host.json reference for Azure Functions 1.x.

Altre opzioni di configurazione delle app per le funzioni sono gestite nelle impostazioni dell'app (per le app distribuite) o nel file local.settings.js (per lo sviluppo locale).Other function app configuration options are managed in your app settings (for deployed apps) or your local.settings.json file (for local development).

Le configurazioni in host.jsin relazione alle associazioni vengono applicate ugualmente a ogni funzione nell'app per le funzioni.Configurations in host.json related to bindings are applied equally to each function in the function app.

È anche possibile eseguire l'override o applicare le impostazioni per ogni ambiente usando le impostazioni dell'applicazione.You can also override or apply settings per environment using application settings.

File di esempio host.jsonSample host.json file

Nell'esempio seguente host.jssu file per la versione 2. x + sono state specificate tutte le opzioni possibili, escluse quelle che sono solo per uso interno.The following sample host.json file for version 2.x+ has all possible options specified (excluding any that are for internal use only).

{
    "version": "2.0",
    "aggregator": {
        "batchSize": 1000,
        "flushTimeout": "00:00:30"
    },
    "extensions": {
        "blobs": {},
        "cosmosDb": {},
        "durableTask": {},
        "eventHubs": {},
        "http": {},
        "queues": {},
        "sendGrid": {},
        "serviceBus": {}
    },
    "extensionBundle": {
        "id": "Microsoft.Azure.Functions.ExtensionBundle",
        "version": "[1.*, 2.0.0)"
    },
    "functions": [ "QueueProcessor", "GitHubWebHook" ],
    "functionTimeout": "00:05:00",
    "healthMonitor": {
        "enabled": true,
        "healthCheckInterval": "00:00:10",
        "healthCheckWindow": "00:02:00",
        "healthCheckThreshold": 6,
        "counterThreshold": 0.80
    },
    "logging": {
        "fileLoggingMode": "debugOnly",
        "logLevel": {
          "Function.MyFunction": "Information",
          "default": "None"
        },
        "applicationInsights": {
            "samplingSettings": {
              "isEnabled": true,
              "maxTelemetryItemsPerSecond" : 20,
              "evaluationInterval": "01:00:00",
              "initialSamplingPercentage": 100.0, 
              "samplingPercentageIncreaseTimeout" : "00:00:01",
              "samplingPercentageDecreaseTimeout" : "00:00:01",
              "minSamplingPercentage": 0.1,
              "maxSamplingPercentage": 100.0,
              "movingAverageRatio": 1.0,
              "excludedTypes" : "Dependency;Event",
              "includedTypes" : "PageView;Trace"
            },
            "enableLiveMetrics": true,
            "enableDependencyTracking": true,
            "enablePerformanceCountersCollection": true,            
            "httpAutoCollectionOptions": {
                "enableHttpTriggerExtendedInfoCollection": true,
                "enableW3CDistributedTracing": true,
                "enableResponseHeaderInjection": true
            },
            "snapshotConfiguration": {
                "agentEndpoint": null,
                "captureSnapshotMemoryWeight": 0.5,
                "failedRequestLimit": 3,
                "handleUntrackedExceptions": true,
                "isEnabled": true,
                "isEnabledInDeveloperMode": false,
                "isEnabledWhenProfiling": true,
                "isExceptionSnappointsEnabled": false,
                "isLowPrioritySnapshotUploader": true,
                "maximumCollectionPlanSize": 50,
                "maximumSnapshotsRequired": 3,
                "problemCounterResetInterval": "24:00:00",
                "provideAnonymousTelemetry": true,
                "reconnectInterval": "00:15:00",
                "shadowCopyFolder": null,
                "shareUploaderProcess": true,
                "snapshotInLowPriorityThread": true,
                "snapshotsPerDayLimit": 30,
                "snapshotsPerTenMinutesLimit": 1,
                "tempFolder": null,
                "thresholdForSnapshotting": 1,
                "uploaderProxy": null
            }
        }
    },
    "managedDependency": {
        "enabled": true
    },
    "retry": {
      "strategy": "fixedDelay",
      "maxRetryCount": 5,
      "delayInterval": "00:00:05"
    },
    "singleton": {
      "lockPeriod": "00:00:15",
      "listenerLockPeriod": "00:01:00",
      "listenerLockRecoveryPollingInterval": "00:01:00",
      "lockAcquisitionTimeout": "00:01:00",
      "lockAcquisitionPollingInterval": "00:00:03"
    },
    "watchDirectories": [ "Shared", "Test" ],
    "watchFiles": [ "myFile.txt" ]
}

Le sezioni seguenti di questo articolo illustrano ogni proprietà di livello superiore.The following sections of this article explain each top-level property. Tutte sono facoltative se non diversamente specificato.All are optional unless otherwise indicated.

aggregatoraggregator

Specifica il numero di chiamate di funzione che vengono aggregate quando si esegue il calcolo della metrica per Application Insights.Specifies how many function invocations are aggregated when calculating metrics for Application Insights.

{
    "aggregator": {
        "batchSize": 1000,
        "flushTimeout": "00:00:30"
    }
}
ProprietàProperty PredefinitoDefault DescrizioneDescription
batchSizebatchSize 10001000 Numero massimo di richieste da aggregare.Maximum number of requests to aggregate.
flushTimeoutflushTimeout 00:00:3000:00:30 Intervallo massimo da aggregare.Maximum time period to aggregate.

Le chiamate di funzione vengono aggregate quando il primo dei due limiti viene raggiunto.Function invocations are aggregated when the first of the two limits are reached.

applicationInsightsapplicationInsights

Questa impostazione è un elemento figlio di logging.This setting is a child of logging.

Controlla le opzioni per Application Insights, incluse le Opzioni di campionamento.Controls options for Application Insights, including sampling options.

Per la struttura JSON completa, vedere l' esempio precedente host.jssu file.For the complete JSON structure, see the earlier example host.json file.

Nota

Il campionamento di log potrebbe non consentire di visualizzare alcune esecuzioni nel pannello monitoraggio di Application Insights.Log sampling may cause some executions to not show up in the Application Insights monitor blade. Per evitare il campionamento dei log, aggiungere excludedTypes: "Request" al samplingSettings valore.To avoid log sampling, add excludedTypes: "Request" to the samplingSettings value.

ProprietàProperty PredefinitoDefault DescrizioneDescription
samplingSettingssamplingSettings n/dn/a Vedere applicationInsights. samplingSettings.See applicationInsights.samplingSettings.
enableLiveMetricsenableLiveMetrics truetrue Abilita la raccolta di metriche attive.Enables live metrics collection.
enableDependencyTrackingenableDependencyTracking truetrue Abilita il rilevamento delle dipendenze.Enables dependency tracking.
enablePerformanceCountersCollectionenablePerformanceCountersCollection truetrue Abilita la raccolta dei contatori delle prestazioni Kudu.Enables Kudu performance counters collection.
liveMetricsInitializationDelayliveMetricsInitializationDelay 00:00:1500:00:15 Solo per uso interno.For internal use only.
httpAutoCollectionOptionshttpAutoCollectionOptions n/dn/a Vedere applicationInsights. httpAutoCollectionOptions.See applicationInsights.httpAutoCollectionOptions.
snapshotConfigurationsnapshotConfiguration n/dn/a Vedere applicationInsights. snapshotConfiguration.See applicationInsights.snapshotConfiguration.

applicationInsights. samplingSettingsapplicationInsights.samplingSettings

Per ulteriori informazioni su queste impostazioni, vedere campionamento in Application Insights.For more information about these settings, see Sampling in Application Insights.

ProprietàProperty PredefinitoDefault DescrizioneDescription
isEnabledisEnabled truetrue Abilita o disabilita il campionamento.Enables or disables sampling.
maxTelemetryItemsPerSecondmaxTelemetryItemsPerSecond 2020 Numero di destinazione degli elementi di telemetria registrati al secondo in ogni host server.The target number of telemetry items logged per second on each server host. Se l'app viene eseguita in molti host, ridurre questo valore in modo che rimanga entro la frequenza di destinazione complessiva del traffico.If your app runs on many hosts, reduce this value to remain within your overall target rate of traffic.
evaluationIntervalevaluationInterval 01:00:0001:00:00 Intervallo in corrispondenza del quale viene rivalutata la frequenza corrente dei dati di telemetria.The interval at which the current rate of telemetry is reevaluated. La valutazione viene eseguita come media mobile.Evaluation is performed as a moving average. Potrebbe essere necessario ridurre questo intervallo se la telemetria è responsabile di burst improvvisi.You might want to shorten this interval if your telemetry is liable to sudden bursts.
initialSamplingPercentageinitialSamplingPercentage 100.0100.0 Percentuale di campionamento iniziale applicata all'inizio del processo di campionamento per variare in modo dinamico la percentuale.The initial sampling percentage applied at the start of the sampling process to dynamically vary the percentage. Non ridurre il valore durante il debug.Don't reduce value while you're debugging.
samplingPercentageIncreaseTimeoutsamplingPercentageIncreaseTimeout 00:00:0100:00:01 Quando viene modificato il valore della percentuale di campionamento, questa proprietà determina il periodo di tempo in cui Application Insights può generare nuovamente la percentuale di campionamento per acquisire più dati.When the sampling percentage value changes, this property determines how soon afterwards Application Insights is allowed to raise sampling percentage again to capture more data.
samplingPercentageDecreaseTimeoutsamplingPercentageDecreaseTimeout 00:00:0100:00:01 Quando viene modificato il valore della percentuale di campionamento, questa proprietà determina il periodo di tempo in cui Application Insights può abbassare di nuovo la percentuale di campionamento per acquisire meno dati.When the sampling percentage value changes, this property determines how soon afterwards Application Insights is allowed to lower sampling percentage again to capture less data.
minSamplingPercentageminSamplingPercentage 0,10.1 Poiché la percentuale di campionamento varia, questa proprietà determina la percentuale minima di campionamento consentita.As sampling percentage varies, this property determines the minimum allowed sampling percentage.
maxSamplingPercentagemaxSamplingPercentage 100.0100.0 Poiché la percentuale di campionamento varia, questa proprietà determina la percentuale massima di campionamento consentita.As sampling percentage varies, this property determines the maximum allowed sampling percentage.
movingAverageRatiomovingAverageRatio 1.01.0 Nel calcolo della media mobile, peso assegnato al valore più recente.In the calculation of the moving average, the weight assigned to the most recent value. Usare un valore uguale o inferiore a 1.Use a value equal to or less than 1. I valori più bassi rendono l'algoritmo meno reattivo alle modifiche improvvise.Smaller values make the algorithm less reactive to sudden changes.
excludedTypesexcludedTypes Nullnull Elenco delimitato da punti e virgola di tipi che non si desidera campionare.A semi-colon delimited list of types that you don't want to be sampled. I tipi riconosciuti sono:,,, Dependency Event Exception PageView , Request e Trace .Recognized types are: Dependency, Event, Exception, PageView, Request, and Trace. Tutte le istanze dei tipi specificati vengono trasmesse. i tipi non specificati vengono campionati.All instances of the specified types are transmitted; the types that aren't specified are sampled.
includedTypesincludedTypes Nullnull Elenco delimitato da punti e virgola di tipi che si desidera campionare. un elenco vuoto implica tutti i tipi.A semi-colon delimited list of types that you want to be sampled; an empty list implies all types. Digitare elencato in excludedTypes tipi di override elencati qui.Type listed in excludedTypes override types listed here. I tipi riconosciuti sono:,,, Dependency Event Exception PageView , Request e Trace .Recognized types are: Dependency, Event, Exception, PageView, Request, and Trace. Le istanze dei tipi specificati sono campionate; i tipi non specificati o impliciti vengono trasmessi senza campionamento.Instances of the specified types are sampled; the types that aren't specified or implied are transmitted without sampling.

applicationInsights. httpAutoCollectionOptionsapplicationInsights.httpAutoCollectionOptions

ProprietàProperty PredefinitoDefault DescrizioneDescription
enableHttpTriggerExtendedInfoCollectionenableHttpTriggerExtendedInfoCollection truetrue Abilita o Disabilita le informazioni di richiesta HTTP estese per i trigger HTTP: intestazioni di correlazione delle richieste in ingresso, supporto delle chiavi multistrumentazione, metodo HTTP, percorso e risposta.Enables or disables extended HTTP request information for HTTP triggers: incoming request correlation headers, multi-instrumentation keys support, HTTP method, path, and response.
enableW3CDistributedTracingenableW3CDistributedTracing truetrue Abilita o Disabilita il supporto del protocollo di traccia distribuita W3C (e attiva lo schema di correlazione legacy).Enables or disables support of W3C distributed tracing protocol (and turns on legacy correlation schema). Abilitata per impostazione predefinita se enableHttpTriggerExtendedInfoCollection è true.Enabled by default if enableHttpTriggerExtendedInfoCollection is true. Se enableHttpTriggerExtendedInfoCollection è false, questo flag si applica solo alle richieste in uscita e non alle richieste in ingresso.If enableHttpTriggerExtendedInfoCollection is false, this flag applies to outgoing requests only, not incoming requests.
enableResponseHeaderInjectionenableResponseHeaderInjection truetrue Abilita o Disabilita l'inserimento di intestazioni di correlazione di più componenti in risposte.Enables or disables injection of multi-component correlation headers into responses. L'abilitazione dell'inserimento consente Application Insights di creare una mappa dell'applicazione a quando vengono utilizzate più chiavi di strumentazione.Enabling injection allows Application Insights to construct an Application Map to when several instrumentation keys are used. Abilitata per impostazione predefinita se enableHttpTriggerExtendedInfoCollection è true.Enabled by default if enableHttpTriggerExtendedInfoCollection is true. Questa impostazione non è applicabile se enableHttpTriggerExtendedInfoCollection è false.This setting doesn't apply if enableHttpTriggerExtendedInfoCollection is false.

applicationInsights. snapshotConfigurationapplicationInsights.snapshotConfiguration

Per altre informazioni sugli snapshot, vedere eseguire il debug di snapshot sulle eccezioni nelle app .NET e risolvere i problemi di abilitazione Application Insights snapshot debugger o la visualizzazione di snapshot.For more information on snapshots, see Debug snapshots on exceptions in .NET apps and Troubleshoot problems enabling Application Insights Snapshot Debugger or viewing snapshots.

ProprietàProperty PredefinitoDefault DescrizioneDescription
agentEndpointagentEndpoint Nullnull Endpoint utilizzato per la connessione al servizio Application Insights Snapshot Debugger.The endpoint used to connect to the Application Insights Snapshot Debugger service. Se null, viene utilizzato un endpoint predefinito.If null, a default endpoint is used.
captureSnapshotMemoryWeightcaptureSnapshotMemoryWeight 0.50.5 Il peso assegnato alle dimensioni della memoria del processo corrente quando viene verificato se è disponibile memoria sufficiente per creare uno snapshot.The weight given to the current process memory size when checking if there's enough memory to take a snapshot. Il valore previsto è maggiore di 0, frazione corretta (0 < CaptureSnapshotMemoryWeight < 1).The expected value is a greater than 0 proper fraction (0 < CaptureSnapshotMemoryWeight < 1).
failedRequestLimitfailedRequestLimit 33 Limite al numero di richieste non riuscite per richiedere snapshot prima che il processore di telemetria sia disabilitato.The limit on the number of failed requests to request snapshots before the telemetry processor is disabled.
handleUntrackedExceptionshandleUntrackedExceptions truetrue Abilita o Disabilita il rilevamento di eccezioni non rilevate da Application Insights telemetria.Enables or disables tracking of exceptions that aren't tracked by Application Insights telemetry.
isEnabledisEnabled truetrue Abilita o Disabilita la raccolta di snapshotEnables or disables snapshot collection
isEnabledInDeveloperModeisEnabledInDeveloperMode falsefalse Abilita o Disabilita la raccolta di snapshot è abilitata in modalità sviluppatore.Enables or disables snapshot collection is enabled in developer mode.
isEnabledWhenProfilingisEnabledWhenProfiling truetrue Abilita o Disabilita la creazione di snapshot anche se il Application Insights Profiler raccoglie una sessione di profilatura dettagliata.Enables or disables snapshot creation even if the Application Insights Profiler is collecting a detailed profiling session.
isExceptionSnappointsEnabledisExceptionSnappointsEnabled falsefalse Abilita o Disabilita l'applicazione di filtri alle eccezioni.Enables or disables filtering of exceptions.
isLowPrioritySnapshotUploaderisLowPrioritySnapshotUploader truetrue Determina se eseguire il processo SnapshotUploader alla priorità normale.Determines whether to run the SnapshotUploader process at below normal priority.
maximumCollectionPlanSizemaximumCollectionPlanSize 5050 Il numero massimo di problemi che è possibile rilevare in qualsiasi momento in un intervallo compreso tra 1 e 9999.The maximum number of problems that we can track at any time in a range from one to 9999.
maximumSnapshotsRequiredmaximumSnapshotsRequired 33 Numero massimo di snapshot raccolti per un singolo problema, in un intervallo compreso tra 1 e 999.The maximum number of snapshots collected for a single problem, in a range from one to 999. Un problema può essere considerato come una singola istruzione throw nell'applicazione.A problem may be thought of as an individual throw statement in your application. Quando il numero di snapshot raccolti per un problema raggiunge questo valore, non verranno raccolti altri snapshot per tale problema finché non vengono reimpostati i contatori dei problemi (vedere problemCounterResetInterval ) e il thresholdForSnapshotting limite viene raggiunto nuovamente.Once the number of snapshots collected for a problem reaches this value, no more snapshots will be collected for that problem until problem counters are reset (see problemCounterResetInterval) and the thresholdForSnapshotting limit is reached again.
problemCounterResetIntervalproblemCounterResetInterval 24:00:0024:00:00 Con quale frequenza è possibile reimpostare i contatori dei problemi in un intervallo compreso tra un minuto e sette giorni.How often to reset the problem counters in a range from one minute to seven days. Quando viene raggiunto questo intervallo, tutti i conteggi dei problemi vengono reimpostati su zero.When this interval is reached, all problem counts are reset to zero. I problemi esistenti che hanno già raggiunto la soglia per gli snapshot, ma che non hanno ancora generato il numero di snapshot in maximumSnapshotsRequired , restano attivi.Existing problems that have already reached the threshold for doing snapshots, but haven't yet generated the number of snapshots in maximumSnapshotsRequired, remain active.
provideAnonymousTelemetryprovideAnonymousTelemetry truetrue Determina se inviare dati di telemetria sull'utilizzo e sugli errori anonimi a Microsoft.Determines whether to send anonymous usage and error telemetry to Microsoft. Questa telemetria può essere usata se si contatta Microsoft per risolvere i problemi relativi al Snapshot Debugger.This telemetry may be used if you contact Microsoft to help troubleshoot problems with the Snapshot Debugger. Viene usato anche per monitorare i modelli di utilizzo.It is also used to monitor usage patterns.
reconnectIntervalreconnectInterval 00:15:0000:15:00 Frequenza della riconnessione all'endpoint Snapshot Debugger.How often we reconnect to the Snapshot Debugger endpoint. L'intervallo consentito è di un minuto a un giorno.Allowable range is one minute to one day.
shadowCopyFoldershadowCopyFolder Nullnull Specifica la cartella da usare per la copia shadow dei file binari.Specifies the folder to use for shadow copying binaries. Se non è impostato, le cartelle specificate dalle seguenti variabili di ambiente vengono tentate in ordine: Fabric_Folder_App_Temp, LOCALAPPDATA, APPDATA, TEMP.If not set, the folders specified by the following environment variables are tried in order: Fabric_Folder_App_Temp, LOCALAPPDATA, APPDATA, TEMP.
shareUploaderProcessshareUploaderProcess truetrue Se è true, solo un'istanza di SnapshotUploader raccoglierà e caricherà gli snapshot per più app che condividono il InstrumentationKey.If true, only one instance of SnapshotUploader will collect and upload snapshots for multiple apps that share the InstrumentationKey. Se è impostato su false, SnapshotUploader sarà univoco per ogni tupla (ProcessName, InstrumentationKey).If set to false, the SnapshotUploader will be unique for each (ProcessName, InstrumentationKey) tuple.
snapshotInLowPriorityThreadsnapshotInLowPriorityThread truetrue Determina se elaborare o meno gli snapshot in un thread con priorità di i/o basso.Determines whether or not to process snapshots in a low IO priority thread. La creazione di uno snapshot è un'operazione rapida ma, per caricare uno snapshot nel servizio Snapshot Debugger, è necessario prima scriverlo su disco come un minidump.Creating a snapshot is a fast operation but, in order to upload a snapshot to the Snapshot Debugger service, it must first be written to disk as a minidump. Questo problema si verifica nel processo SnapshotUploader.That happens in the SnapshotUploader process. L'impostazione di questo valore su true usa i/o con priorità bassa per scrivere il minidump, che non sarà in competizione con l'applicazione per le risorse.Setting this value to true uses low-priority IO to write the minidump, which won't compete with your application for resources. Impostando questo valore su false si accelera la creazione di minidump a scapito del rallentamento dell'applicazione.Setting this value to false speeds up minidump creation at the expense of slowing down your application.
snapshotsPerDayLimitsnapshotsPerDayLimit 3030 Numero massimo di snapshot consentiti in un giorno (24 ore).The maximum number of snapshots allowed in one day (24 hours). Questo limite viene anche applicato sul lato del servizio Application Insights.This limit is also enforced on the Application Insights service side. I caricamenti sono limitati a 50 al giorno per ogni applicazione, ovvero per chiave di strumentazione.Uploads are rate limited to 50 per day per application (that is, per instrumentation key). Questo valore consente di evitare la creazione di snapshot aggiuntivi che verranno rifiutati durante il caricamento.This value helps prevent creating additional snapshots that will eventually be rejected during upload. Il valore zero rimuove completamente il limite, operazione non consigliata.A value of zero removes the limit entirely, which isn't recommended.
snapshotsPerTenMinutesLimitsnapshotsPerTenMinutesLimit 11 Numero massimo di snapshot consentiti in 10 minuti.The maximum number of snapshots allowed in 10 minutes. Anche se non esiste un limite superiore per questo valore, prestare attenzione ad aumentarlo sui carichi di lavoro di produzione perché potrebbe influito sulle prestazioni dell'applicazione.Although there is no upper bound on this value, exercise caution increasing it on production workloads because it could impact the performance of your application. La creazione di uno snapshot è veloce, ma la creazione di un minidump dello snapshot e il suo caricamento nel servizio Snapshot Debugger sono un'operazione molto più lenta che concorrerà all'applicazione per le risorse (CPU e I/O).Creating a snapshot is fast, but creating a minidump of the snapshot and uploading it to the Snapshot Debugger service is a much slower operation that will compete with your application for resources (both CPU and I/O).
tempFoldertempFolder Nullnull Specifica la cartella in cui scrivere i minidump e i file di log del caricatore.Specifies the folder to write minidumps and uploader log files. Se non è impostato, viene usato %Temp%\dumps .If not set, then %TEMP%\Dumps is used.
thresholdForSnapshottingthresholdForSnapshotting 11 Il numero di volte in cui Application Insights deve visualizzare un'eccezione prima di chiedere gli snapshot.How many times Application Insights needs to see an exception before it asks for snapshots.
uploaderProxyuploaderProxy Nullnull Esegue l'override del server proxy utilizzato nel processo di caricamento dello snapshot.Overrides the proxy server used in the Snapshot Uploader process. Potrebbe essere necessario usare questa impostazione se l'applicazione si connette a Internet tramite un server proxy.You may need to use this setting if your application connects to the internet via a proxy server. Il Snapshot Collector viene eseguito all'interno del processo dell'applicazione e utilizzerà le stesse impostazioni del proxy.The Snapshot Collector runs within your application's process and will use the same proxy settings. Tuttavia, il caricatore di snapshot viene eseguito come processo separato e potrebbe essere necessario configurare manualmente il server proxy.However, the Snapshot Uploader runs as a separate process and you may need to configure the proxy server manually. Se questo valore è null, Snapshot Collector tenterà di rilevare automaticamente l'indirizzo del proxy esaminando System .NET. WebRequest. DefaultWebProxy e passando il valore al caricatore dello snapshot.If this value is null, then Snapshot Collector will attempt to autodetect the proxy's address by examining System.Net.WebRequest.DefaultWebProxy and passing on the value to the Snapshot Uploader. Se questo valore non è null, il rilevamento automatico non viene usato e il server proxy specificato qui verrà usato nell'Uploader dello snapshot.If this value isn't null, then autodetection isn't used and the proxy server specified here will be used in the Snapshot Uploader.

blobblobs

Le impostazioni di configurazione sono reperibili in trigger e associazioni del BLOB di archiviazione.Configuration settings can be found in Storage blob triggers and bindings.

cosmosDbcosmosDb

L'impostazione di configurazione è reperibile in Trigger e associazioni di Cosmos DB.Configuration setting can be found in Cosmos DB triggers and bindings.

customHandlercustomHandler

Impostazioni di configurazione per un gestore personalizzato.Configuration settings for a custom handler. Per altre informazioni, vedere gestori personalizzati di funzioni di Azure.For more information, see Azure Functions custom handlers.

"customHandler": {
  "description": {
    "defaultExecutablePath": "server",
    "workingDirectory": "handler",
    "arguments": [ "--port", "%FUNCTIONS_CUSTOMHANDLER_PORT%" ]
  },
  "enableForwardingHttpRequest": false
}
ProprietàProperty PredefinitoDefault DescrizioneDescription
defaultExecutablePathdefaultExecutablePath n/dn/a Eseguibile da avviare come processo del gestore personalizzato.The executable to start as the custom handler process. Si tratta di un'impostazione obbligatoria quando si usano i gestori personalizzati e il relativo valore è relativo alla radice dell'app per le funzioni.It is a required setting when using custom handlers and its value is relative to the function app root.
workingDirectoryworkingDirectory radice app per le funzionifunction app root Directory di lavoro in cui avviare il processo del gestore personalizzato.The working directory in which to start the custom handler process. Si tratta di un'impostazione facoltativa e il relativo valore è relativo alla radice dell'app per le funzioni.It is an optional setting and its value is relative to the function app root.
argomentiarguments n/dn/a Matrice di argomenti della riga di comando da passare al processo del gestore personalizzato.An array of command line arguments to pass to the custom handler process.
enableForwardingHttpRequestenableForwardingHttpRequest falsefalse Se impostata, tutte le funzioni costituite solo da un trigger HTTP e da un output HTTP vengono trasmesse alla richiesta HTTP originale anziché al payload della richiestadel gestore personalizzato.If set, all functions that consist of only an HTTP trigger and HTTP output is forwarded the original HTTP request instead of the custom handler request payload.

durableTaskdurableTask

L'impostazione di configurazione è reperibile nelle associazioni per Durable Functions.Configuration setting can be found in bindings for Durable Functions.

eventHubeventHub

Le impostazioni di configurazione sono reperibili in Trigger e associazioni di Hub eventi.Configuration settings can be found in Event Hub triggers and bindings.

Estensioniextensions

Proprietà che restituisce un oggetto che contiene tutte le impostazioni di associazione specifiche, ad esempio http e eventHub.Property that returns an object that contains all of the binding-specific settings, such as http and eventHub.

extensionBundleextensionBundle

I bundle di estensione consentono di aggiungere un set compatibile di estensioni di associazione di funzioni all'app per le funzioni.Extension bundles let you add a compatible set of Functions binding extensions to your function app. Per altre informazioni, vedere bundle di estensione per lo sviluppo locale.To learn more, see Extension bundles for local development.

{
    "version": "2.0",
    "extensionBundle": {
        "id": "Microsoft.Azure.Functions.ExtensionBundle",
        "version": "[1.*, 2.0.0)"
    }
}

In extensionBundle sono disponibili le proprietà seguenti:The following properties are available in extensionBundle:

ProprietàProperty DescrizioneDescription
idid Spazio dei nomi per i bundle di estensioni di Funzioni di Azure Microsoft.The namespace for Microsoft Azure Functions extension bundles.
versionversion Versione del bundle da installare.The version of the bundle to install. Il runtime di Funzioni sceglie sempre la versione massima consentita definita dall'intervallo o dall'intervallo di versioni.The Functions runtime always picks the maximum permissible version defined by the version range or interval. Il valore version precedente consente tutte le versioni del bundle a partire dalla 1.0.0 fino alla 2.0.0 esclusa.The version value above allows all bundle versions from 1.0.0 up to but not including 2.0.0. Per altre informazioni, vedere la notazione degli intervalli per specificare gli intervalli di versione.For more information, see the interval notation for specifying version ranges.

functionsfunctions

Un elenco di funzioni eseguite dall'host di processo.A list of functions that the job host runs. Una matrice vuota indica l’esecuzione di tutte le funzioni.An empty array means run all functions. Deve essere utilizzato solo in caso di esecuzione in locale.Intended for use only when running locally. In app per le funzioni in Azure è necessario invece seguire i passaggi descritti in Come disabilitare le funzioni in Funzioni di Azure per disabilitare le funzioni specifiche invece di usare questa impostazione.In function apps in Azure, you should instead follow the steps in How to disable functions in Azure Functions to disable specific functions rather than using this setting.

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

functionTimeoutfunctionTimeout

Indica la durata del timeout per tutte le funzioni.Indicates the timeout duration for all functions. Segue il formato stringa TimeSpan.It follows the timespan string format.

Tipo di pianoPlan type Impostazione predefinita (min)Default (min) Massimo (min)Maximum (min)
ConsumoConsumption 55 1010
Premium1Premium1 3030 -1 (senza limiti)2-1 (unbounded)2
Dedicato (servizio app)Dedicated (App Service) 3030 -1 (senza limiti)2-1 (unbounded)2

1 l'esecuzione del piano Premium è garantita solo per 60 minuti, ma tecnicamente non vincolata.1 Premium plan execution is only guaranteed for 60 minutes, but technically unbounded.
2 il valore -1 indica un'esecuzione non vincolata, ma è consigliabile mantenere un limite superiore fisso.2 A value of -1 indicates unbounded execution, but keeping a fixed upper bound is recommended.

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

healthMonitorhealthMonitor

Impostazioni di configurazione per il monitoraggio integrità host.Configuration settings for Host health monitor.

{
    "healthMonitor": {
        "enabled": true,
        "healthCheckInterval": "00:00:10",
        "healthCheckWindow": "00:02:00",
        "healthCheckThreshold": 6,
        "counterThreshold": 0.80
    }
}
ProprietàProperty PredefinitoDefault DescrizioneDescription
Enabledenabled truetrue Indica se la funzionalità è abilitata.Specifies whether the feature is enabled.
healthCheckIntervalhealthCheckInterval 10 secondi10 seconds Intervallo di tempo tra i controlli dell'integrità periodici in background.The time interval between the periodic background health checks.
healthCheckWindowhealthCheckWindow 2 minuti2 minutes Finestra temporale scorrevole usata in combinazione con l'impostazione healthCheckThreshold.A sliding time window used in conjunction with the healthCheckThreshold setting.
healthCheckThresholdhealthCheckThreshold 66 Numero massimo di volte in cui il controllo dell'integrità può non riuscire prima che venga avviato un riciclo host.Maximum number of times the health check can fail before a host recycle is initiated.
counterThresholdcounterThreshold 0,800.80 Soglia a partire dalla quale un contatore delle prestazioni verrà considerato non integro.The threshold at which a performance counter will be considered unhealthy.

httphttp

Le impostazioni di configurazione sono reperibili in Trigger e associazioni HTTP.Configuration settings can be found in http triggers and bindings.

registrazionelogging

Controlla i comportamenti di registrazione dell'app per le funzioni, tra cui Application Insights.Controls the logging behaviors of the function app, including Application Insights.

"logging": {
    "fileLoggingMode": "debugOnly",
    "logLevel": {
      "Function.MyFunction": "Information",
      "default": "None"
    },
    "console": {
        ...
    },
    "applicationInsights": {
        ...
    }
}
ProprietàProperty PredefinitoDefault DescrizioneDescription
fileLoggingModefileLoggingMode debugOnlydebugOnly Definisce il livello di registrazione dei file abilitato.Defines what level of file logging is enabled. Le opzioni sono never, always, debugOnly.Options are never, always, debugOnly.
logLevellogLevel n/dn/a Oggetto che definisce il filtro delle categorie di log per le funzioni nell'app.Object that defines the log category filtering for functions in the app. Le versioni 2. x e successive seguono il layout ASP.NET Core per i filtri delle categorie di log.Versions 2.x and later follow the ASP.NET Core layout for log category filtering. Questa impostazione consente di filtrare la registrazione per specifiche funzioni.This setting lets you filter logging for specific functions. Per altre informazioni, vedere Filtro dei log nella documentazione di ASP.NET Core.For more information, see Log filtering in the ASP.NET Core documentation.
consoleconsole n/dn/a Impostazione di registrazione nella console.The console logging setting.
applicationInsightsapplicationInsights n/dn/a Impostazione di ApplicationInsights.The applicationInsights setting.

consoleconsole

Questa impostazione è un elemento figlio di logging.This setting is a child of logging. Controlla la registrazione nella console quando non è attiva la modalità di debug.It controls the console logging when not in debugging mode.

{
    "logging": {
    ...
        "console": {
          "isEnabled": "false"
        },
    ...
    }
}
ProprietàProperty PredefinitoDefault DescrizioneDescription
isEnabledisEnabled falsefalse Abilita o disabilita la registrazione nella console.Enables or disables console logging.

managedDependencymanagedDependency

La dipendenza gestita è una funzionalità attualmente supportata solo con le funzioni basate su PowerShell.Managed dependency is a feature that is currently only supported with PowerShell based functions. Consente la gestione automatica delle dipendenze da parte del servizio.It enables dependencies to be automatically managed by the service. Quando la enabled proprietà è impostata su true , il requirements.psd1 file viene elaborato.When the enabled property is set to true, the requirements.psd1 file is processed. Le dipendenze vengono aggiornate quando vengono rilasciate versioni secondarie.Dependencies are updated when any minor versions are released. Per altre informazioni, vedere dipendenza gestita nell'articolo di PowerShell.For more information, see Managed dependency in the PowerShell article.

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

queuesqueues

Le impostazioni di configurazione sono reperibili in Trigger e associazioni di Archiviazione code.Configuration settings can be found in Storage queue triggers and bindings.

retryretry

Controlla le opzioni dei criteri di ripetizione per tutte le esecuzioni nell'app.Controls the retry policy options for all executions in the app.

{
    "retry": {
        "strategy": "fixedDelay",
        "maxRetryCount": 2,
        "delayInterval": "00:00:03"  
    }
}
ProprietàProperty PredefinitoDefault DescrizioneDescription
strategiastrategy Nullnull Obbligatorio.Required. La strategia di ripetizione dei tentativi da usare.The retry strategy to use. I valori validi sono fixedDelay o exponentialBackoff.Valid values are fixedDelay or exponentialBackoff.
maxRetryCountmaxRetryCount Nullnull Obbligatorio.Required. Numero massimo di tentativi consentiti per l'esecuzione di una funzione.The maximum number of retries allowed per function execution. -1 indica di riprovare a tempo indefinito.-1 means to retry indefinitely.
delayIntervaldelayInterval Nullnull Ritardo usato tra i tentativi con una fixedDelay strategia.The delay that's used between retries with a fixedDelay strategy.
minimumIntervalminimumInterval Nullnull Ritardo minimo tra tentativi quando si usa la exponentialBackoff strategia.The minimum retry delay when using exponentialBackoff strategy.
maximumIntervalmaximumInterval Nullnull Ritardo massimo tra i tentativi quando si usa la exponentialBackoff strategia.The maximum retry delay when using exponentialBackoff strategy.

sendGridsendGrid

Le impostazioni di configurazione sono reperibili in Trigger e associazioni di SendGrid.Configuration setting can be found in SendGrid triggers and bindings.

serviceBusserviceBus

Le impostazioni di configurazione sono reperibili in Trigger e associazioni del bus di servizio.Configuration setting can be found in Service Bus triggers and bindings.

singletonsingleton

Impostazioni di configurazione per il comportamento di blocco Singleton.Configuration settings for Singleton lock behavior. Per ulteriori informazioni, vedere il problema GitHub sul supporto singleton.For more information, see GitHub issue about singleton support.

{
    "singleton": {
      "lockPeriod": "00:00:15",
      "listenerLockPeriod": "00:01:00",
      "listenerLockRecoveryPollingInterval": "00:01:00",
      "lockAcquisitionTimeout": "00:01:00",
      "lockAcquisitionPollingInterval": "00:00:03"
    }
}
ProprietàProperty PredefinitoDefault DescrizioneDescription
lockPeriodlockPeriod 00:00:1500:00:15 Il periodo per cui vengono eseguiti blocchi a livello di funzione.The period that function level locks are taken for. I blocchi si rinnovano automaticamente.The locks auto-renew.
listenerLockPeriodlistenerLockPeriod 00:01:0000:01:00 Il periodo per cui vengono acquisiti blocchi di listener.The period that listener locks are taken for.
listenerLockRecoveryPollingIntervallistenerLockRecoveryPollingInterval 00:01:0000:01:00 L'intervallo di tempo utilizzato per il ripristino di blocco listener se non è stato possibile acquisire un blocco di listener all'avvio.The time interval used for listener lock recovery if a listener lock couldn't be acquired on startup.
lockAcquisitionTimeoutlockAcquisitionTimeout 00:01:0000:01:00 La quantità massima di tempo per cui il runtime tenterà di acquisire un blocco.The maximum amount of time the runtime will try to acquire a lock.
lockAcquisitionPollingIntervallockAcquisitionPollingInterval n/dn/a L'intervallo tra i tentativi di acquisizione di un blocco.The interval between lock acquisition attempts.

versionversion

Questo valore indica la versione dello schema di host.js.This value indicates the schema version of host.json. La stringa "version": "2.0" di versione è obbligatoria per un'app per le funzioni destinata al runtime v2 o a una versione successiva.The version string "version": "2.0" is required for a function app that targets the v2 runtime, or a later version. Non sono presenti host.jssulle modifiche dello schema tra V2 e V3.There are no host.json schema changes between v2 and v3.

watchDirectorieswatchDirectories

Un set di directory codice condivise da monitorare per le modifiche.A set of shared code directories that should be monitored for changes. Assicura che quando viene modificato il codice in tali directory, le modifiche vengono prelevate dalle funzioni.Ensures that when code in these directories is changed, the changes are picked up by your functions.

{
    "watchDirectories": [ "Shared" ]
}

watchFileswatchFiles

Matrice di uno o più nomi di file monitorati per le modifiche che richiedono il riavvio dell'app.An array of one or more names of files that are monitored for changes that require your app to restart. Ciò garantisce che, quando viene modificato il codice in questi file, gli aggiornamenti vengono prelevati dalle funzioni.This guarantees that when code in these files are changed, the updates are picked up by your functions.

{
    "watchFiles": [ "myFile.txt" ]
}

Esegui override host.jssui valoriOverride host.json values

Potrebbero essere presenti istanze in cui si desidera configurare o modificare impostazioni specifiche in un host.jsfile per un ambiente specifico, senza modificare i host.jsnel file stesso.There may be instances where you wish to configure or modify specific settings in a host.json file for a specific environment, without changing the host.json file itself. È possibile eseguire l'override di host.jsspecifici nei valori creando un valore equivalente come impostazione dell'applicazione.You can override specific host.json values be creating an equivalent value as an application setting. Quando il runtime trova un'impostazione dell'applicazione nel formato AzureFunctionsJobHost__path__to__setting , esegue l'override dell'equivalente host.jssull'impostazione presente in path.to.setting in JSON.When the runtime finds an application setting in the format AzureFunctionsJobHost__path__to__setting, it overrides the equivalent host.json setting located at path.to.setting in the JSON. Se espressa come impostazione dell'applicazione, il punto ( . ) usato per indicare la gerarchia JSON viene sostituito da un doppio carattere di sottolineatura ( __ ).When expressed as an application setting, the dot (.) used to indicate JSON hierarchy is replaced by a double underscore (__).

Si immagini, ad esempio, di voler disabilitare il campionamento di Application Insight durante l'esecuzione in locale.For example, say that you wanted to disable Application Insight sampling when running locally. Se il host.jslocale è stato modificato per disabilitare Application Insights, è possibile che venga eseguito il push della modifica nell'app di produzione durante la distribuzione.If you changed the local host.json file to disable Application Insights, this change might get pushed to your production app during deployment. Il modo più sicuro per eseguire questa operazione consiste nel creare invece un'impostazione dell'applicazione come "AzureFunctionsJobHost__logging__applicationInsights__samplingSettings__isEnabled":"false" nel local.settings.json file.The safer way to do this is to instead create an application setting as "AzureFunctionsJobHost__logging__applicationInsights__samplingSettings__isEnabled":"false" in the local.settings.json file. È possibile visualizzarlo nel file seguente local.settings.json , che non viene pubblicato:You can see this in the following local.settings.json file, which doesn't get published:

{
    "IsEncrypted": false,
    "Values": {
        "AzureWebJobsStorage": "{storage-account-connection-string}",
        "FUNCTIONS_WORKER_RUNTIME": "{language-runtime}",
        "AzureFunctionsJobHost__logging__applicationInsights__samplingSettings__isEnabled":"false"
    }
}

Passaggi successiviNext steps