Informazioni di riferimento su host.json per Funzioni di Azure 2.x e versioni successive
Il file di metadati host.json contiene opzioni di configurazione che influiscono su tutte le funzioni in un'istanza dell'app per le funzioni. Questo articolo elenca le impostazioni disponibili a partire dalla versione 2.x del runtime di Funzioni di Azure.
Nota
Questo articolo riguarda Funzioni di Azure versione 2.x e successive. Per informazioni di riferimento su host.json in Funzioni 1.x, vedere Informazioni di riferimento su host.json per Funzioni di Azure 1.x.
Altre opzioni di configurazione dell'app per le funzioni vengono gestite a seconda della posizione in cui viene eseguita l'app per le funzioni:
- Distribuito in Azure: nelle impostazioni dell'applicazione
- Nel computer locale: nel file local.settings.json .
Le configurazioni in host.json correlate alle associazioni vengono applicate allo stesso modo a ogni funzione nell'app per le funzioni.
È anche possibile eseguire l'override o applicare le impostazioni per ogni ambiente usando le impostazioni dell'applicazione.
File di esempio host.json
Nell'esempio seguente host.json file per la versione 2.x+ sono specificate tutte le opzioni possibili (escluse quelle per uso interno).
{
"version": "2.0",
"aggregator": {
"batchSize": 1000,
"flushTimeout": "00:00:30"
},
"concurrency": {
"dynamicConcurrencyEnabled": true,
"snapshotPersistenceEnabled": true
},
"extensions": {
"blobs": {},
"cosmosDb": {},
"durableTask": {},
"eventHubs": {},
"http": {},
"queues": {},
"sendGrid": {},
"serviceBus": {}
},
"extensionBundle": {
"id": "Microsoft.Azure.Functions.ExtensionBundle",
"version": "[4.0.0, 5.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"
},
"dependencyTrackingOptions": {
"enableSqlCommandTextInstrumentation": true
},
"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
},
"singleton": {
"lockPeriod": "00:00:15",
"listenerLockPeriod": "00:01:00",
"listenerLockRecoveryPollingInterval": "00:01:00",
"lockAcquisitionTimeout": "00:01:00",
"lockAcquisitionPollingInterval": "00:00:03"
},
"telemetryMode": "OpenTelemetry",
"watchDirectories": [ "Shared", "Test" ],
"watchFiles": [ "myFile.txt" ]
}
Le sezioni seguenti di questo articolo illustrano ogni proprietà di livello superiore. Tutte sono facoltative se non diversamente specificato.
aggregator
Specifica il numero di chiamate di funzione che vengono aggregate quando si esegue il calcolo della metrica per Application Insights.
{
"aggregator": {
"batchSize": 1000,
"flushTimeout": "00:00:30"
}
}
Proprietà | Predefinito | Descrizione |
---|---|---|
batchSize | 1000 | Numero massimo di richieste da aggregare. |
flushTimeout | 00:00:30 | Intervallo massimo da aggregare. |
Le chiamate di funzione vengono aggregate quando il primo dei due limiti viene raggiunto.
applicationInsights
Questa impostazione è un elemento figlio di logging.
Controlla le opzioni per Application Insights, incluse le opzioni di campionamento.
Per la struttura JSON completa, vedere l'esempio precedente host.json file.
Nota
Il campionamento di log potrebbe non consentire di visualizzare alcune esecuzioni nel pannello monitoraggio di Application Insights. Per evitare il campionamento del log, aggiungere excludedTypes: "Request"
al samplingSettings
valore .
Proprietà | Predefinito | Descrizione |
---|---|---|
samplingSettings | n/d | Vedere applicationInsights.samplingSettings. |
dependencyTrackingOptions | n/d | Vedere applicationInsights.dependencyTrackingOptions. |
enableLiveMetrics | true | Abilita la raccolta delle metriche attive. |
enableDependencyTracking | true | Abilita il rilevamento delle dipendenze. |
enablePerformanceCountersCollection | true | Abilita la raccolta dei contatori delle prestazioni kudu. |
liveMetricsInitializationDelay | 00:00:15 | Solo per uso interno. |
httpAutoCollectionOptions | n/d | Vedere applicationInsights.httpAutoCollectionOptions. |
snapshotConfiguration | n/d | Vedere applicationInsights.snapshotConfiguration. |
applicationInsights.samplingSettings
Per altre informazioni su queste impostazioni, vedere Campionamento in Application Insights.
Proprietà | Predefinito | Descrizione |
---|---|---|
isEnabled | true | Abilita o disabilita il campionamento. |
maxTelemetryItemsPerSecond | 20 | Numero di dati di telemetria di destinazione registrati al secondo in ogni host del server. Se l'app viene eseguita in molti host, ridurre questo valore per rimanere entro la frequenza complessiva del traffico di destinazione. |
evaluationInterval | 01:00:00 | Intervallo in base al quale la frequenza corrente della telemetria viene rivalutata. La valutazione viene eseguita come media mobile. Potrebbe essere necessario ridurre questo intervallo se la telemetria è responsabile di burst improvvisi. |
initialSamplingPercentage | 100.0 | La percentuale di campionamento iniziale applicata all'inizio del processo di campionamento per variare dinamicamente la percentuale. Non ridurre il valore durante il debug. |
samplingPercentageIncreaseTimeout | 00:00:01 | Quando il valore percentuale di campionamento cambia, questa proprietà determina quanto tempo dopo Application Insights può aumentare nuovamente la percentuale di campionamento per acquisire più dati. |
samplingPercentageDecreaseTimeout | 00:00:01 | Quando il valore percentuale di campionamento cambia, questa proprietà determina quanto tempo dopo Application Insights può ridurre di nuovo la percentuale di campionamento per acquisire meno dati. |
minSamplingPercentage | 0,1 | Poiché la percentuale di campionamento varia, questa proprietà determina la percentuale di campionamento minima consentita. |
maxSamplingPercentage | 100.0 | Poiché la percentuale di campionamento varia, questa proprietà determina la percentuale di campionamento massima consentita. |
movingAverageRatio | 1.0 | Nel calcolo della media mobile, peso assegnato al valore più recente. Usare un valore uguale o inferiore a 1. I valori più bassi rendono l'algoritmo meno reattivo alle modifiche improvvise. |
excludedTypes | Null | Elenco delimitato da punti e virgola di tipi che non si desidera campionare. I tipi riconosciuti sono: Dependency , Exception Event , PageView , Request , e Trace . Tutte le istanze dei tipi specificati vengono trasmesse; Vengono campionati i tipi non specificati. |
includedTypes | Null | Elenco delimitato da punti e virgola di tipi da campionare; un elenco vuoto implica tutti i tipi. Tipo elencato nei excludedTypes tipi di override elencati qui. I tipi riconosciuti sono: Dependency , Exception Event , PageView , Request , e Trace . Le istanze dei tipi specificati vengono campionate; i tipi non specificati o impliciti vengono trasmessi senza campionamento. |
applicationInsights.httpAutoCollectionOptions
Proprietà | Predefinito | Descrizione |
---|---|---|
enableHttpTriggerExtendedInfoCollection | true | Abilita o disabilita le informazioni estese sulle richieste HTTP per i trigger HTTP: intestazioni di correlazione delle richieste in ingresso, supporto delle chiavi di strumentazione multipla, metodo HTTP, percorso e risposta. |
enableW3CDistributedTracing | true | Abilita o disabilita il supporto del protocollo di traccia distribuita W3C e attiva lo schema di correlazione legacy. Abilitato per impostazione predefinita se enableHttpTriggerExtendedInfoCollection è true. Se enableHttpTriggerExtendedInfoCollection è false, questo flag si applica solo alle richieste in uscita, non alle richieste in ingresso. |
enableResponseHeaderInjection | true | Abilita o disabilita l'inserimento di intestazioni di correlazione multicomponenti nelle risposte. L'abilitazione dell'inserimento consente ad Application Insights di costruire un mapping delle applicazioni a quando vengono usate più chiavi di strumentazione. Abilitato per impostazione predefinita se enableHttpTriggerExtendedInfoCollection è true. Questa impostazione non si applica se enableHttpTriggerExtendedInfoCollection è false. |
applicationInsights.dependencyTrackingOptions
Proprietà | Predefinito | Descrizione |
---|---|---|
enableSqlCommandTextInstrumentation | false | Abilita la raccolta del testo completo delle query SQL, che è disabilitato per impostazione predefinita. Per altre informazioni sulla raccolta di testo della query SQL, vedere Rilevamento SQL avanzato per ottenere la query SQL completa. |
applicationInsights.snapshotConfiguration
Per altre informazioni sugli snapshot, vedere Eseguire il debug di snapshot sulle eccezioni nelle app .NET e Risolvere i problemi di abilitazione di Application Insights Snapshot Debugger o visualizzazione di snapshot.
Proprietà | Predefinito | Descrizione |
---|---|---|
agentEndpoint | Null | Endpoint usato per connettersi al servizio Snapshot Debugger di Application Insights. Se null, viene usato un endpoint predefinito. |
captureSnapshotMemoryWeight | 0.5 | Peso assegnato alle dimensioni correnti della memoria del processo durante il controllo della quantità di memoria sufficiente per creare uno snapshot. Il valore previsto è maggiore di 0 frazione corretta (0 < CaptureSnapshotMemoryWeight < 1). |
failedRequestLimit | 3 | Limite al numero di richieste non riuscite per richiedere snapshot prima che il processore di telemetria sia disabilitato. |
handleUntrackedExceptions | true | Abilita o disabilita il rilevamento delle eccezioni non rilevate dai dati di telemetria di Application Insights. |
isEnabled | true | Abilita o disabilita la raccolta di snapshot |
isEnabledInDeveloperMode | false | Abilita o disabilita la raccolta snapshot è abilitata in modalità sviluppatore. |
isEnabledWhenProfiling | true | Abilita o disabilita la creazione di snapshot anche se Application Insights Profiler raccoglie una sessione di profilatura dettagliata. |
isExceptionSnappointsEnabled | false | Abilita o disabilita il filtro delle eccezioni. |
isLowPrioritySnapshotUploader | true | Determina se eseguire il processo SnapshotUploader al di sotto della priorità normale. |
maximumCollectionPlanSize | 50 | Numero massimo di problemi che possiamo tenere traccia in qualsiasi momento in un intervallo compreso tra uno e 9999. |
maximumSnapshotsRequired | 3 | Numero massimo di snapshot raccolti per un singolo problema, in un intervallo compreso tra uno e 999. Un problema può essere considerato come una singola istruzione throw nell'applicazione. Quando il numero di snapshot raccolti per un problema raggiunge questo valore, non verranno raccolti altri snapshot per tale problema finché i contatori dei problemi non vengono reimpostati (vedere problemCounterResetInterval ) e il thresholdForSnapshotting limite viene raggiunto di nuovo. |
problemCounterResetInterval | 24:00:00 | Frequenza con cui reimpostare i contatori del problema in un intervallo compreso tra un minuto e sette giorni. Quando viene raggiunto questo intervallo, tutti i conteggi dei problemi vengono reimpostati su zero. I problemi esistenti che hanno già raggiunto la soglia per l'esecuzione di snapshot, ma non hanno ancora generato il numero di snapshot in maximumSnapshotsRequired , rimangono attivi. |
provideAnonymousTelemetry | true | Determina se inviare dati di telemetria di utilizzo e errore anonimi a Microsoft. Questi dati di telemetria possono essere usati se si contatta Microsoft per risolvere i problemi relativi al debugger di snapshot. Viene usato anche per monitorare i modelli di utilizzo. |
reconnectInterval | 00:15:00 | Frequenza di riconnessione all'endpoint snapshot debugger. L'intervallo consentito è compreso tra un minuto e un giorno. |
shadowCopyFolder | Null | Specifica la cartella da utilizzare per la copia shadow dei file binari. Se non è impostata, le cartelle specificate dalle variabili di ambiente seguenti vengono tentate in ordine: Fabric_Folder_App_Temp, LOCALAPPDATA, APPDATA, TEMP. |
shareUploaderProcess | true | Se true, solo un'istanza di SnapshotUploader raccoglie e carica snapshot per più app che condividono InstrumentationKey. Se impostato su false, SnapshotUploader sarà univoco per ogni tupla (ProcessName, InstrumentationKey). |
snapshotInLowPriorityThread | true | Determina se elaborare gli snapshot in un thread con priorità di I/O bassa. La creazione di uno snapshot è un'operazione veloce, ma, per caricare uno snapshot nel servizio Snapshot Debugger, deve prima essere scritta su disco come minidump. Questo avviene nel processo SnapshotUploader. L'impostazione di questo valore su true usa operazioni di I/O con priorità bassa per scrivere il minidump, che non competerà con l'applicazione per le risorse. L'impostazione di questo valore su false velocizza la creazione di minidump a scapito del rallentamento dell'applicazione. |
snapshotsPerDayLimit | 30 | Numero massimo di snapshot consentiti in un giorno (24 ore). Questo limite viene applicato anche sul lato del servizio Application Insights. I caricamenti sono limitati a 50 al giorno per ogni applicazione, ovvero per ogni chiave di strumentazione. Questo valore consente di impedire la creazione di snapshot aggiuntivi che verranno infine rifiutati durante il caricamento. Un valore pari a zero rimuove completamente il limite, che non è consigliato. |
snapshotsPerTenMinutesLimit | 1 | Numero massimo di snapshot consentiti in 10 minuti. Anche se non esiste un limite superiore per questo valore, prestare attenzione ad aumentarlo sui carichi di lavoro di produzione perché potrebbe influire sulle prestazioni dell'applicazione. La creazione di uno snapshot è veloce, ma la creazione di un minidump dello snapshot e il caricamento nel servizio Snapshot Debugger è un'operazione molto più lenta che competerà con l'applicazione per le risorse (CPU e I/O). |
tempFolder | Null | Specifica la cartella in cui scrivere minidump e file di log del caricatore. Se non è impostato, viene usato %TEMP%\Dumps . |
thresholdForSnapshotting | 1 | Quante volte Application Insights deve visualizzare un'eccezione prima di richiedere snapshot. |
uploaderProxy | Null | Esegue l'override del server proxy usato nel processo di Caricamento snapshot. Potrebbe essere necessario usare questa impostazione se l'applicazione si connette a Internet tramite un server proxy. L'agente di raccolta snapshot viene eseguito all'interno del processo dell'applicazione e userà le stesse impostazioni proxy. Tuttavia, il caricamento snapshot viene eseguito come processo separato e potrebbe essere necessario configurare manualmente il server proxy. Se questo valore è Null, Snapshot Collector tenterà di impostare automaticamente l'indirizzo del proxy esaminando System.Net.WebRequest.DefaultWebProxy e passando il valore a Snapshot Uploader. Se questo valore non è Null, la funzione automatica non viene usata e il server proxy specificato qui verrà usato nel caricatore snapshot. |
blob
Le impostazioni di configurazione sono disponibili in Trigger e associazioni dei BLOB di archiviazione.
console
Questa impostazione è un elemento figlio di logging. Controlla la registrazione nella console quando non è attiva la modalità di debug.
{
"logging": {
...
"console": {
"isEnabled": false,
"DisableColors": true
},
...
}
}
Proprietà | Predefinito | Descrizione |
---|---|---|
DisableColors | false | Elimina la formattazione dei log nei log del contenitore in Linux. Impostare su true se vengono visualizzati caratteri di controllo ANSI indesiderati nei log del contenitore durante l'esecuzione in Linux. |
isEnabled | false | Abilita o disabilita la registrazione nella console. |
Azure Cosmos DB
Le impostazioni di configurazione sono disponibili nei trigger e nelle associazioni di Azure Cosmos DB.
customHandler
Impostazioni di configurazione per un gestore personalizzato. Per altre informazioni, vedere Funzioni di Azure gestori personalizzati.
"customHandler": {
"description": {
"defaultExecutablePath": "server",
"workingDirectory": "handler",
"arguments": [ "--port", "%FUNCTIONS_CUSTOMHANDLER_PORT%" ]
},
"enableForwardingHttpRequest": false
}
Proprietà | Predefinito | Descrizione |
---|---|---|
defaultExecutablePath | n/d | Eseguibile da avviare come processo del gestore personalizzato. È un'impostazione obbligatoria quando si usano gestori personalizzati e il relativo valore è relativo alla radice dell'app per le funzioni. |
workingDirectory | radice dell'app per le funzioni | Directory di lavoro in cui avviare il processo del gestore personalizzato. Si tratta di un'impostazione facoltativa e il relativo valore è relativo alla radice dell'app per le funzioni. |
argomenti | n/d | Matrice di argomenti della riga di comando da passare al processo del gestore personalizzato. |
enableForwardingHttpRequest | false | Se impostata, tutte le funzioni costituite da un solo trigger HTTP e l'output HTTP vengono inoltrati alla richiesta HTTP originale anziché al payload della richiesta del gestore personalizzato. |
durableTask
L'impostazione di configurazione è reperibile nelle associazioni per Durable Functions.
concurrency
Abilita la concorrenza dinamica per associazioni specifiche nell'app per le funzioni. Per altre informazioni, vedere Concorrenza dinamica.
{
"concurrency": {
"dynamicConcurrencyEnabled": true,
"snapshotPersistenceEnabled": true
}
}
Proprietà | Predefinito | Descrizione |
---|---|---|
dynamicConcurrencyEnabled | false | Abilita i comportamenti di concorrenza dinamica per tutti i trigger supportati da questa funzionalità, che è disattivato per impostazione predefinita. |
snapshotPersistenceEnabled | true | I valori di concorrenza appresi vengono mantenuti periodicamente nell'archiviazione, in modo che le nuove istanze inizino da tali valori invece di partire da 1 e di dover ripetere l'apprendimento. |
eventHub
Le impostazioni di configurazione sono reperibili in Trigger e associazioni di Hub eventi.
Estensioni
Proprietà che restituisce un oggetto che contiene tutte le impostazioni di associazione specifiche, ad esempio http e eventHub.
extensionBundle
I bundle di estensioni consentono di aggiungere un set compatibile di estensioni di associazione di Funzioni all'app per le funzioni. Per altre informazioni, vedere Bundle di estensioni per lo sviluppo locale.
{
"version": "2.0",
"extensionBundle": {
"id": "Microsoft.Azure.Functions.ExtensionBundle",
"version": "[4.0.0, 5.0.0)"
}
}
In extensionBundle
sono disponibili le proprietà seguenti:
Proprietà | Descrizione |
---|---|
id |
Spazio dei nomi per i bundle di estensioni di Funzioni di Azure Microsoft. |
version |
Intervallo di versioni del bundle da installare. Il runtime di Funzioni sceglie sempre la versione massima consentita definita dall'intervallo o dall'intervallo di versioni. Ad esempio, un version intervallo di valori di [4.0.0, 5.0.0) consente tutte le versioni del bundle dalla versione 4.0.0 fino a 5.0.0, ma non incluse. Per altre informazioni, vedere la notazione degli intervalli per specificare gli intervalli di versione. |
functions
Un elenco di funzioni eseguite dall'host di processo. Una matrice vuota indica l’esecuzione di tutte le funzioni. Deve essere utilizzato solo in caso di esecuzione in locale. 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.
{
"functions": [ "QueueProcessor", "GitHubWebHook" ]
}
functionTimeout
Indica la durata del timeout per tutte le esecuzioni di funzioni. Segue il formato stringa timespan.
Tipo di piano | Impostazione predefinita (min) | Massimo (min) |
---|---|---|
Consumo | 5 | 10 |
Premium1 | 30 | -1 (senza vincoli)2 |
Dedicato (servizio app) | 30 | -1 (senza vincoli)2 |
1 L'esecuzione del piano Premium è garantita solo per 60 minuti, ma tecnicamente non associato.
2 Il valore indica -1
l'esecuzione senza vincoli, ma è consigliabile mantenere un limite superiore fisso.
{
"functionTimeout": "00:05:00"
}
healthMonitor
Impostazioni di configurazione per il monitoraggio integrità host.
{
"healthMonitor": {
"enabled": true,
"healthCheckInterval": "00:00:10",
"healthCheckWindow": "00:02:00",
"healthCheckThreshold": 6,
"counterThreshold": 0.80
}
}
Proprietà | Predefinito | Descrizione |
---|---|---|
Enabled | true | Indica se la funzionalità è abilitata. |
healthCheckInterval | 10 secondi | Intervallo di tempo tra i controlli dell'integrità periodici in background. |
healthCheckWindow | 2 minuti | Finestra temporale scorrevole usata in combinazione con l'impostazione healthCheckThreshold . |
healthCheckThreshold | 6 | Numero massimo di volte in cui il controllo dell'integrità può non riuscire prima che venga avviato un riciclo host. |
counterThreshold | 0.80 | Soglia a partire dalla quale un contatore delle prestazioni verrà considerato non integro. |
http
Le impostazioni di configurazione sono reperibili in Trigger e associazioni HTTP.
registrazione
Controlla i comportamenti di registrazione dell'app per le funzioni, tra cui Application Insights.
"logging": {
"fileLoggingMode": "debugOnly",
"logLevel": {
"Function.MyFunction": "Information",
"default": "None"
},
"console": {
...
},
"applicationInsights": {
...
}
}
Proprietà | Predefinito | Descrizione |
---|---|---|
fileLoggingMode | debugOnly | Determina il comportamento di registrazione dei file durante l'esecuzione in Azure. Le opzioni sono never , always e debugOnly . Questa impostazione non viene usata durante l'esecuzione in locale. Quando possibile, è consigliabile usare Application Insights durante il debug delle funzioni in Azure. L'uso always influisce negativamente sul comportamento di avvio a freddo dell'app e sulla velocità effettiva dei dati. L'impostazione predefinita debugOnly genera file di log quando si esegue il debug usando il portale di Azure. |
logLevel | n/d | Oggetto che definisce il filtro delle categorie di log per le funzioni nell'app. Questa impostazione consente di filtrare la registrazione per funzioni specifiche. Per altre informazioni, vedere Configurare i livelli di log. |
console | n/d | Impostazione di registrazione nella console. |
applicationInsights | n/d | Impostazione di ApplicationInsights. |
managedDependency
La dipendenza gestita è una funzionalità attualmente supportata solo con le funzioni basate su PowerShell. Consente di gestire automaticamente le dipendenze dal servizio. Quando la enabled
proprietà è impostata su true
, il requirements.psd1
file viene elaborato. Le dipendenze vengono aggiornate quando vengono rilasciate versioni secondarie. Per altre informazioni, vedere Dipendenza gestita nell'articolo PowerShell.
{
"managedDependency": {
"enabled": true
}
}
code
Le impostazioni di configurazione sono reperibili in Trigger e associazioni di Archiviazione code.
sendGrid
Le impostazioni di configurazione sono reperibili in Trigger e associazioni di SendGrid.
serviceBus
Le impostazioni di configurazione sono reperibili in Trigger e associazioni del bus di servizio.
singleton
Impostazioni di configurazione per il comportamento di blocco Singleton. Per ulteriori informazioni, vedere il problema GitHub sul supporto singleton.
{
"singleton": {
"lockPeriod": "00:00:15",
"listenerLockPeriod": "00:01:00",
"listenerLockRecoveryPollingInterval": "00:01:00",
"lockAcquisitionTimeout": "00:01:00",
"lockAcquisitionPollingInterval": "00:00:03"
}
}
Proprietà | Predefinito | Descrizione |
---|---|---|
lockPeriod | 00:00:15 | Il periodo per cui vengono eseguiti blocchi a livello di funzione. I blocchi si rinnovano automaticamente. |
listenerLockPeriod | 00:01:00 | Il periodo per cui vengono acquisiti blocchi di listener. |
listenerLockRecoveryPollingInterval | 00:01:00 | L'intervallo di tempo utilizzato per il ripristino di blocco listener se non è stato possibile acquisire un blocco di listener all'avvio. |
lockAcquisitionTimeout | 00:01:00 | La quantità massima di tempo per cui il runtime tenterà di acquisire un blocco. |
lockAcquisitionPollingInterval | n/d | L'intervallo tra i tentativi di acquisizione di un blocco. |
telemetryMode
Questa funzionalità è attualmente in anteprima.
Usato per abilitare l'output dei log e delle tracce in un formato di output OpenTelemetry a uno o più endpoint che supportano OpenTelemetry. Quando questa impostazione è impostata su OpenTelemetry
, viene usato l'output OpenTelemetry. Per impostazione predefinita senza questa impostazione, tutti i log, le tracce e gli eventi vengono inviati ad Application Insights usando gli output standard. Per altre informazioni, vedere Usare OpenTelemetry con Funzioni di Azure.
versione
Questo valore indica la versione dello schema di host.json. La stringa "version": "2.0"
di versione è necessaria per un'app per le funzioni destinata al runtime v2 o a una versione successiva. Non sono presenti modifiche dello schema host.json tra v2 e v3.
watchDirectories
Un set di directory codice condivise da monitorare per le modifiche. Assicura che quando viene modificato il codice in tali directory, le modifiche vengono prelevate dalle funzioni.
{
"watchDirectories": [ "Shared" ]
}
watchFiles
Matrice di uno o più nomi di file monitorati per le modifiche che richiedono il riavvio dell'app. Ciò garantisce che quando il codice in questi file viene modificato, gli aggiornamenti vengono prelevati dalle funzioni.
{
"watchFiles": [ "myFile.txt" ]
}
Eseguire l'override dei valori di host.json
Possono essere presenti istanze in cui si desidera configurare o modificare impostazioni specifiche in un file host.json per un ambiente specifico, senza modificare il file host.json stesso. È possibile eseguire l'override di valori di host.json specifici creando un valore equivalente come impostazione dell'applicazione. Quando il runtime trova un'impostazione dell'applicazione nel formato AzureFunctionsJobHost__path__to__setting
, esegue l'override dell'impostazione di host.json equivalente che si trova path.to.setting
in nel file JSON. Se espresso come impostazione dell'applicazione, il punto (.
) usato per indicare la gerarchia JSON viene sostituito da un doppio carattere di sottolineatura (__
).
Si supponga, ad esempio, di voler disabilitare il campionamento di Application Insight durante l'esecuzione in locale. Se il file di host.json locale è stato modificato per disabilitare Application Insights, questa modifica potrebbe essere inserita nell'app di produzione durante la distribuzione. 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. È possibile visualizzare questo file nel file seguente local.settings.json
, che non viene pubblicato:
{
"IsEncrypted": false,
"Values": {
"AzureWebJobsStorage": "{storage-account-connection-string}",
"FUNCTIONS_WORKER_RUNTIME": "{language-runtime}",
"AzureFunctionsJobHost__logging__applicationInsights__samplingSettings__isEnabled":"false"
}
}
L'override delle impostazioni di host.json usando le variabili di ambiente segue le convenzioni di denominazione ASP.NET Core. Quando la struttura degli elementi include una matrice, l'indice di matrice numerica deve essere considerato come un nome di elemento aggiuntivo in questo percorso. Per altre informazioni, vedere Denominazione delle variabili di ambiente.