Riferimento per le impostazioni dell’app per Funzioni di Azure

Le impostazioni dell'app in un'app per le funzioni contengono opzioni di configurazione che influiscono su tutte le funzioni per l'app per le funzioni. Quando l'esecuzione avviene in locale, queste impostazioni sono nelle variabili di ambiente. In questo articolo sono elencate le impostazioni dell’app che sono disponibili nelle app per le funzioni.

Esistono diversi modi per aggiungere, aggiornare ed eliminare le impostazioni dell'app per le funzioni:

Le modifiche apportate alle impostazioni dell'app per le funzioni richiedono il riavvio dell'app per le funzioni.

Esistono altre opzioni di configurazione dell'app per le funzioni nel file host.json e nel file local.settings.json . L'esempio di stringa di connessione valori viene troncato per la leggibilità.

Nota

È possibile usare le impostazioni dell'applicazione per eseguire l'override dei valori dell'impostazione host.json senza dover modificare il file host.json stesso. Questo è utile per gli scenari in cui è necessario configurare o modificare impostazioni host.json specifiche per un ambiente specifico. In questo modo è anche possibile modificare le impostazioni host.json senza dover ripubblicare il progetto. Per altre informazioni, vedere l'articolo di riferimento host.json. Le modifiche apportate alle impostazioni dell'app per le funzioni richiedono il riavvio dell'app per le funzioni.

APPINSIGHTS_INSTRUMENTATIONKEY

Chiave di strumentazione per application Insights. Usare solo uno di APPINSIGHTS_INSTRUMENTATIONKEY o APPLICATIONINSIGHTS_CONNECTION_STRING. Quando l'applicazione Insights viene eseguita in un cloud sovrano, usare APPLICATIONINSIGHTS_CONNECTION_STRING. Per altre informazioni, vedere Come configurare il monitoraggio per Funzioni di Azure.

Chiave Valore di esempio
APPINSIGHTS_INSTRUMENTATIONKEY 55555555-af77-484b-9032-64f83bb83bb

APPLICATIONINSIGHTS_CONNECTION_STRING

Stringa di connessione per l'applicazione Insights. Usare APPLICATIONINSIGHTS_CONNECTION_STRING anziché APPINSIGHTS_INSTRUMENTATIONKEY nei casi seguenti:

  • Quando l'app per le funzioni richiede le personalizzazioni aggiunte supportate tramite il stringa di connessione.
  • Quando l'applicazione Insights'istanza viene eseguita in un cloud sovrano, che richiede un endpoint personalizzato.

Per altre informazioni, vedere Stringhe di connessione.

Chiave Valore di esempio
APPLICATIONINSIGHTS_CONNECTION_STRING InstrumentationKey=...

AZURE_FUNCTION_PROXY_DISABLE_LOCAL_CALL

Per impostazione predefinita, i proxy di Funzioni usano un collegamento per inviare chiamate API dai proxy direttamente alle funzioni nella stessa app per le funzioni. Questo collegamento viene usato anziché creare una nuova richiesta HTTP. Questa impostazione consente di disabilitare tale comportamento di scelta rapida.

Chiave Valore Descrizione
AZURE_FUNCTION_PROXY_DISABLE_LOCAL_CALL true Le chiamate con un URL back-end che puntano a una funzione nell'app per le funzioni locali non verranno inviate direttamente alla funzione. Le richieste vengono invece indirizzate al front-end HTTP per l'app per le funzioni.
AZURE_FUNCTION_PROXY_DISABLE_LOCAL_CALL false Le chiamate con un URL back-end che puntano a una funzione nell'app per le funzioni locali vengono inoltrate direttamente alla funzione. Si tratta del valore predefinito.

AZURE_FUNCTION_PROXY_BACKEND_URL_DECODE_SLASHES

Questa impostazione controlla se i caratteri %2F vengono decodificati come barre nei parametri di route quando vengono inseriti nell'URL back-end.

Chiave Valore Descrizione
AZURE_FUNCTION_PROXY_BACKEND_URL_DECODE_SLASHES true I parametri di route con barre codificate vengono decodificati.
AZURE_FUNCTION_PROXY_BACKEND_URL_DECODE_SLASHES false Tutti i parametri di route vengono passati insieme invariati, ovvero il comportamento predefinito.

Si consideri ad esempio il file proxies.json per un'app per le funzioni nel myfunction.com dominio.

{
    "$schema": "http://json.schemastore.org/proxies",
    "proxies": {
        "root": {
            "matchCondition": {
                "route": "/{*all}"
            },
            "backendUri": "example.com/{all}"
        }
    }
}

Quando AZURE_FUNCTION_PROXY_BACKEND_URL_DECODE_SLASHES è impostato su true, l'URL example.com/api%2ftest viene risolto su example.com/api/test. Per impostazione predefinita, l'URL rimane invariato come example.com/test%2fapi. Per altre informazioni, vedere Proxy di funzioni.

AZURE_FUNCTIONS_ENVIRONMENT

Nella versione 2.x e versioni successive del runtime di Funzioni configura il comportamento dell'app in base all'ambiente di runtime. Questo valore viene letto durante l'inizializzazione e può essere impostato su qualsiasi valore. Solo i valori di Development, Staginge Production vengono onorati dal runtime. Quando questa impostazione dell'applicazione non è presente durante l'esecuzione in Azure, si presuppone che l'ambiente sia Production. Usare questa impostazione anziché ASPNETCORE_ENVIRONMENT se è necessario modificare l'ambiente di runtime in Azure in un elemento diverso da Production. Gli strumenti di base Funzioni di Azure impostati AZURE_FUNCTIONS_ENVIRONMENT su quando vengono eseguiti in un computer locale e non possono essere sottoposti a Development override nel file local.settings.json. Per altre informazioni, vedere Classe e metodi di avvio basati sull'ambiente.

AzureFunctionsJobHost__*

Nella versione 2.x e versioni successive del runtime di Funzioni le impostazioni dell'applicazione possono eseguire l'override delle impostazioni host.json nell'ambiente corrente. Questi overridi vengono espressi come impostazioni dell'applicazione denominate AzureFunctionsJobHost__path__to__setting. Per altre informazioni, vedere Eseguire l'override dei valori host.json.

AzureFunctionsWebHost__hostid

Imposta l'ID host per un'app per le funzioni specificata, che deve essere un ID univoco. Questa impostazione esegue l'override del valore ID host generato automaticamente per l'app. Usare questa impostazione solo quando è necessario evitare collisioni di ID host tra le app per le funzioni che condividono lo stesso account di archiviazione.

Un ID host deve essere compreso tra 1 e 32 caratteri, contenere solo lettere minuscole, numeri e trattini, non iniziare o terminare con un trattino e non contenere trattini consecutivi. Un modo semplice per generare un ID consiste nell'accettare un GUID, rimuovere i trattini e renderlo minuscolo, ad esempio convertendo il GUID 1835D7B5-5C98-4790-815D-072CC94C6F71 nel valore 1835d7b55c984790815d072cc94c6f71.

Codice Valore di esempio
AzureFunctionsWebHost__hostid myuniquefunctionappname123456789

Per altre informazioni, vedere Considerazioni sull'ID host.

AzureWebJobsDashboard

Stringa di connessione dell’account di archiviazione facoltativo per l'archiviazione dei log e la visualizzazione nella scheda Monitor nel portale. Questa impostazione è valida solo per le app destinate alla versione 1.x del runtime di Funzioni di Azure. L'account di archiviazione deve essere un'istanza generica che supporta i BLOB, le code e le tabelle. Per altre informazioni, vedere Requisiti dell'account di archiviazione.

Codice Valore di esempio
AzureWebJobsDashboard DefaultEndpointsProtocol=https;AccountName=...

Nota

Per migliorare le prestazioni e l'esperienza, le versioni di runtime 2.x e versioni successive usano APPINSIGHTS_INSTRUMENTATIONKEY e App Insights per il monitoraggio anziché AzureWebJobsDashboard.

AzureWebJobsDisableHomepage

true comporta la disabilitazione dell'impostazione predefinita per la pagina di destinazione per l'URL radice di un'app per le funzioni. Il valore predefinito è false.

Codice Valore di esempio
AzureWebJobsDisableHomepage true

Quando questa impostazione dell’app viene omessa o impostata su false, una pagina simile all'esempio seguente viene visualizzata in risposta all'URL <functionappname>.azurewebsites.net.

Function app landing page

AzureWebJobsDotNetReleaseCompilation

true comporta l'utilizzo in modalità di rilascio durante la compilazione del codice .NET. false comporta l'utilizzo in modalità debug. Il valore predefinito è true.

Codice Valore di esempio
AzureWebJobsDotNetReleaseCompilation true

AzureWebJobsFeatureFlags

Un elenco delimitato da virgole di funzionalità beta da abilitare. Le funzionalità Beta abilitate per queste flag non sono pronte per la produzione, ma possono essere abilitate per l'utilizzo sperimentale prima di essere lanciate.

Codice Valore di esempio
AzureWebJobsFeatureFlags feature1,feature2

AzureWebJobsKubernetesSecretName

Indica la risorsa Segreti Kubernetes usata per l'archiviazione delle chiavi. Supportato solo quando viene eseguito in Kubernetes. Richiede che AzureWebJobsSecretStorageType sia impostato su kubernetes. Quando AzureWebJobsKubernetesSecretName non è impostato, il repository viene considerato di sola lettura. In questo caso, i valori devono essere generati prima della distribuzione. Gli strumenti di base Funzioni di Azure generano automaticamente i valori durante la distribuzione in Kubernetes.

Codice Valore di esempio
AzureWebJobsKubernetesSecretName <SECRETS_RESOURCE>

Per altre informazioni, vedere Repository segreti.

AzureWebJobsSecretStorageKeyVaultClientId

ID client dell'identità gestita assegnata dall'utente o della registrazione dell'app usata per accedere all'insieme di credenziali in cui vengono archiviate le chiavi. Richiede che AzureWebJobsSecretStorageType sia impostato su keyvault. Supportato nella versione 4.x e versioni successive del runtime di Funzioni.

Codice Valore di esempio
AzureWebJobsSecretStorageKeyVaultClientId <CLIENT_ID>

Per altre informazioni, vedere Repository segreti.

AzureWebJobsSecretStorageKeyVaultClientSecret

Segreto per l'ID client dell'identità gestita assegnata dall'utente o la registrazione dell'app usata per accedere all'insieme di credenziali in cui vengono archiviate le chiavi. Richiede che AzureWebJobsSecretStorageType sia impostato su keyvault. Supportato nella versione 4.x e versioni successive del runtime di Funzioni.

Chiave Valore di esempio
AzureWebJobsSecretStorageKeyVaultClientSecret <CLIENT_SECRET>

Per altre informazioni, vedere Repository segreti.

AzureWebJobsSecretStorageKeyVaultName

Nome di un'istanza dell'insieme di credenziali delle chiavi usata per archiviare le chiavi. Questa impostazione è supportata solo per la versione 3.x del runtime di Funzioni. Per la versione 4.x, usare AzureWebJobsSecretStorageKeyVaultUriinvece . Richiede che AzureWebJobsSecretStorageType sia impostato su keyvault.

L'insieme di credenziali deve avere un criterio di accesso corrispondente all'identità gestita assegnata dal sistema della risorsa di hosting. I criteri di accesso devono concedere all'identità le autorizzazioni segrete seguenti: Get,Set, Liste Delete.
Quando si esegue localmente, viene usata l'identità dello sviluppatore e le impostazioni devono trovarsi nel file local.settings.json.

Chiave Valore di esempio
AzureWebJobsSecretStorageKeyVaultName <VAULT_NAME>

Per altre informazioni, vedere Repository segreti.

AzureWebJobsSecretStorageKeyVaultTenantId

ID tenant della registrazione dell'app usata per accedere all'insieme di credenziali in cui vengono archiviate le chiavi. Richiede che AzureWebJobsSecretStorageType sia impostato su keyvault. Supportato nella versione 4.x e versioni successive del runtime di Funzioni. Per altre informazioni, vedere Repository segreti.

Chiave Valore di esempio
AzureWebJobsSecretStorageKeyVaultTenantId <TENANT_ID>

AzureWebJobsSecretStorageKeyVaultUri

URI di un'istanza dell'insieme di credenziali delle chiavi utilizzata per archiviare le chiavi. Supportato nella versione 4.x e versioni successive del runtime di Funzioni. Questa è l'impostazione consigliata per l'uso di un'istanza dell'insieme di credenziali delle chiavi per l'archiviazione delle chiavi. Richiede che AzureWebJobsSecretStorageType sia impostato su keyvault.

Il AzureWebJobsSecretStorageKeyVaultUri valore deve essere il valore completo dell'URI dell'insieme di credenziali visualizzato nella scheda panoramica Key Vault, incluso https://.

L'insieme di credenziali deve avere un criterio di accesso corrispondente all'identità gestita assegnata dal sistema della risorsa di hosting. I criteri di accesso devono concedere all'identità le autorizzazioni segrete seguenti: Get,Set, Liste Delete.
Quando si esegue localmente, viene usata l'identità dello sviluppatore e le impostazioni devono trovarsi nel file local.settings.json.

Chiave Valore di esempio
AzureWebJobsSecretStorageKeyVaultUri https://<VAULT_NAME>.vault.azure.net

Per altre informazioni, vedere Usare riferimenti Key Vault per Funzioni di Azure.

AzureWebJobsSecretStorageSas

UN BLOB Archiviazione URL di firma di accesso condiviso per un secondo account di archiviazione usato per l'archiviazione delle chiavi. Per impostazione predefinita, Funzioni usa l'account impostato in AzureWebJobsStorage. Quando si usa questa opzione di archiviazione privata, assicurarsi che AzureWebJobsSecretStorageType non sia impostata in modo esplicito o sia impostata su blob. Per altre informazioni, vedere Repository segreti.

Chiave Valore di esempio
AzureWebJobsSecretStorageSas <BLOB_SAS_URL>

AzureWebJobsSecretStorageType

Specifica il repository o il provider da utilizzare per l'archiviazione delle chiavi. Le chiavi vengono sempre crittografate prima di essere archiviate usando un segreto univoco per l'app per le funzioni.

Chiave Valore Descrizione
AzureWebJobsSecretStorageType blob Le chiavi vengono archiviate in un contenitore di archiviazione BLOB nell'account fornito dall'impostazione AzureWebJobsStorage . Si tratta del comportamento predefinito quando AzureWebJobsSecretStorageType non è impostato.
Per specificare un account di archiviazione diverso, usare l'impostazione per indicare l'URL AzureWebJobsSecretStorageSas della firma di accesso condiviso di un secondo account di archiviazione.
AzureWebJobsSecretStorageType files Le chiavi vengono mantenute nel file system. Si tratta dell'impostazione predefinita per Funzioni v1.x.
AzureWebJobsSecretStorageType keyvault Le chiavi vengono archiviate in un'istanza dell'insieme di credenziali delle chiavi impostata da AzureWebJobsSecretStorageKeyVaultName.
Segreti di Kubernetes kubernetes Supportato solo quando si esegue il runtime di Funzioni in Kubernetes. Quando AzureWebJobsKubernetesSecretName non è impostato, il repository viene considerato di sola lettura. In questo caso, i valori devono essere generati prima della distribuzione. L'Funzioni di Azure Core Tools genera automaticamente i valori durante la distribuzione in Kubernetes.

Per altre informazioni, vedere Repository segreti.

AzureWebJobsStorage

Il runtime di Funzioni di Azure usa questo account di archiviazione stringa di connessione per il normale funzionamento. Alcuni usi di questo account di archiviazione includono la gestione delle chiavi, la gestione dei trigger timer e i checkpoint di Hub eventi. L'account di archiviazione deve essere un'istanza generica che supporta i BLOB, le code e le tabelle. Vedere Account di archiviazione e Requisiti dell'account di archiviazione.

Codice Valore di esempio
AzureWebJobsStorage DefaultEndpointsProtocol=https;AccountName=...

AzureWebJobs_TypeScriptPath

Percorso per il compilatore usato per TypeScript. Consente di eseguire l'override dell'impostazione predefinita, se necessario.

Chiave Valore di esempio
AzureWebJobs_TypeScriptPath %HOME%\typescript

DOCKER_SHM_SIZE

Imposta le dimensioni in byte della memoria condivisa quando il ruolo di lavoro Python usa la memoria condivisa. Per altre informazioni, vedere Memoria condivisa.

Chiave Valore di esempio
DOCKER_SHM_SIZE 268435456

Il valore precedente imposta una dimensione di memoria condivisa di circa 256 MB.

Richiede che FUNCTIONS_WORKER_SHARED_MEMORY_DATA_TRANSFER_ENABLED essere impostato su 1.

FUNCTION_APP_EDIT_MODE

Determina se la modifica nel portale di Azure è abilitata. I valori validi sono "readwrite" e "readonly".

Codice Valore di esempio
FUNCTION_APP_EDIT_MODE readonly

FUNCTIONS_EXTENSION_VERSION

Versione del runtime di Funzioni che ospita l'app per le funzioni. Una tilde (~) con versione principale significa usare la versione più recente di tale versione principale (ad esempio, "~3"). Quando sono disponibili nuove versioni per la stessa versione principale, vengono installate automaticamente nell'app per le funzioni. Per aggiungere l'app a una versione specifica, usare il numero di versione completo ,ad esempio "3.0.12345". Il valore predefinito è "~3". Un valore di ~1 aggiunge l'app alla versione 1.x del runtime. Per altre informazioni, vedere Panoramica delle versioni del runtime per Funzioni di Azure. Il valore indica ~4 che l'app viene eseguita nella versione 4.x del runtime, che supporta .NET 6.0.

Codice Valore di esempio
FUNCTIONS_EXTENSION_VERSION ~3

FUNCTIONS_V2_COMPATIBILITY_MODE

Questa impostazione consente all'app per le funzioni di eseguire in una modalità compatibile con la versione 2.x nel runtime 3.x. Usare questa impostazione solo se si verificano problemi durante l'aggiornamento dell'app per le funzioni dalla versione 2.x alla 3.x del runtime.

Importante

Questa impostazione è progettata solo come soluzione alternativa a breve termine durante l'aggiornamento dell'app per l'esecuzione corretta nella versione 3.x. Questa impostazione è supportata purché il runtime 2.x sia supportato. Se si verificano problemi che impediscono l'esecuzione dell'app nella versione 3.x senza usare questa impostazione, segnalare il problema.

Richiede che FUNCTIONS_EXTENSION_VERSION essere impostato su ~3.

Chiave Valore di esempio
FUNCTIONS_V2_COMPATIBILITY_MODE true

FUNCTIONS_WORKER_PROCESS_COUNT

Specifica il numero massimo di processi di lavoro linguistici, con il valore 1predefinito . Il valore massimo consentito è 10. Le chiamate di funzione vengono distribuite uniformemente tra i processi di lavoro del linguaggio. I processi di lavoro linguistico vengono generati ogni 10 secondi fino a quando non viene raggiunto il conteggio impostato da FUNCTIONS_WORKER_PROCESS_COUNT. L'uso di più processi di lavoro in linguaggio non equivale al ridimensionamento. È consigliabile usare questa impostazione quando il carico di lavoro include una combinazione di chiamate associate alla CPU e di I/O associate. Questa impostazione si applica a tutti i runtime del linguaggio, ad eccezione di .NET in esecuzione nel processo (dotnet).

Chiave Valore di esempio
FUNCTIONS_WORKER_PROCESS_COUNT 2

FUNCTIONS_WORKER_RUNTIME

Il runtime del ruolo di lavoro del linguaggio da caricare nell'app per le funzioni. Corrisponde alla lingua usata nell'applicazione, ad esempio dotnet. A partire dalla versione 2.x del runtime di Funzioni di Azure, una determinata app per le funzioni può supportare solo un singolo linguaggio.

Chiave Valore di esempio
FUNCTIONS_WORKER_RUNTIME node

Valori validi:

Valore Linguaggio
dotnet C# (libreria di classi)
C# (script)
dotnet-isolated C# (processo isolato)
java Java
node JavaScript
TypeScript
powershell PowerShell
python Python

FUNCTIONS_WORKER_SHARED_MEMORY_DATA_TRANSFER_ENABLED

Questa impostazione consente al ruolo di lavoro Python di usare la memoria condivisa per migliorare la velocità effettiva. Abilitare la memoria condivisa quando l'app per le funzioni Python raggiunge i colli di bottiglia della memoria.

Codice Valore di esempio
FUNCTIONS_WORKER_SHARED_MEMORY_DATA_TRANSFER_ENABLED 1

Con questa impostazione abilitata, è possibile usare l'impostazione DOCKER_SHM_SIZE per impostare le dimensioni della memoria condivisa. Per altre informazioni, vedere Memoria condivisa.

MDMaxBackgroundUpgradePeriod

Controlla il periodo di aggiornamento in background delle dipendenze gestite per le app per le funzioni di PowerShell, con un valore predefinito ( 7.00:00:00 settimanale).

Ogni processo di lavoro di PowerShell avvia la verifica della disponibilità di aggiornamenti dei moduli nel PowerShell Gallery all'avvio del processo e ogni MDMaxBackgroundUpgradePeriod volta dopo. Quando una nuova versione del modulo è disponibile nel PowerShell Gallery, viene installata nel file system e resa disponibile per i ruoli di lavoro di PowerShell. La riduzione di questo valore consente all'app per le funzioni di ottenere le versioni più recenti del modulo, ma aumenta anche l'utilizzo delle risorse dell'app (I/O di rete, CPU, archiviazione). L'aumento di questo valore riduce l'utilizzo delle risorse dell'app, ma può anche ritardare il recapito di nuove versioni del modulo all'app.

Chiave Valore di esempio
MDMaxBackgroundUpgradePeriod 7.00:00:00

Per altre informazioni, vedere Gestione delle dipendenze.

MDNewSnapshotCheckPeriod

Specifica la frequenza con cui ogni ruolo di lavoro di PowerShell controlla se sono stati installati gli aggiornamenti delle dipendenze gestite. La frequenza predefinita è 01:00:00 (oraria).

Dopo l'installazione di nuove versioni del modulo nel file system, è necessario riavviare ogni processo di lavoro di PowerShell. Il riavvio dei ruoli di lavoro di PowerShell influisce sulla disponibilità dell'app perché può interrompere l'esecuzione della funzione corrente. Fino al riavvio di tutti i processi di lavoro di PowerShell, le chiamate di funzione possono usare le versioni precedenti o nuove del modulo. Il riavvio di tutti i ruoli di lavoro di PowerShell viene completato all'interno MDNewSnapshotCheckPerioddi .

All'interno di ogni MDNewSnapshotCheckPeriod, il ruolo di lavoro di PowerShell controlla se sono stati installati o meno gli aggiornamenti delle dipendenze gestiti. Quando gli aggiornamenti sono stati installati, viene avviato un riavvio. L'aumento di questo valore riduce la frequenza delle interruzioni a causa dei riavvii. Tuttavia, l'aumento potrebbe anche aumentare il tempo durante il quale le chiamate di funzione potrebbero usare le versioni precedenti o nuove del modulo, in modo non deterministico.

Codice Valore di esempio
MDNewSnapshotCheckPeriod 01:00:00

Per altre informazioni, vedere Gestione delle dipendenze.

MDMinBackgroundUpgradePeriod

Periodo di tempo dopo il controllo precedente dell'aggiornamento delle dipendenze gestite prima dell'avvio di un altro controllo di aggiornamento, con un valore predefinito ( 1.00:00:00 giornaliero).

Per evitare un numero eccessivo di aggiornamenti dei moduli in frequenti riavvii del ruolo di lavoro, il controllo degli aggiornamenti del modulo non viene eseguito quando un ruolo di lavoro ha già avviato tale archiviazione nell'ultimo MDMinBackgroundUpgradePeriod.

Codice Valore di esempio
MDMinBackgroundUpgradePeriod 1.00:00:00

Per altre informazioni, vedere Gestione delle dipendenze.

PIP_EXTRA_INDEX_URL

Il valore di questa impostazione indica un URL dell'indice del pacchetto personalizzato per le app Python. Usare questa impostazione quando è necessario eseguire una compilazione remota usando dipendenze personalizzate presenti in un indice di pacchetto aggiuntivo.

Chiave Valore di esempio
PIP_EXTRA_INDEX_URL http://my.custom.package.repo/simple

Per altre informazioni, vedere Dipendenze personalizzate nelle informazioni di riferimento per sviluppatori Python.

PYTHON_ISOLATE_WORKER_DEPENDENCIES (anteprima)

La configurazione è specifica per le app per le funzioni Python. Definisce la definizione della priorità dell'ordine di caricamento del modulo. Quando le app per le funzioni Python riscontrano problemi relativi a conflitti di modulo (ad esempio quando si usa protobuf, tensorflow o grpcio nel progetto), la configurazione di questa impostazione dell'app per 1 risolvere il problema. Per impostazione predefinita, questo valore è impostato su 0. Questo flag è attualmente in anteprima.

Chiave Valore Descrizione
PYTHON_ISOLATE_WORKER_DEPENDENCIES 0 Classificare in ordine di priorità il caricamento delle librerie Python dalle dipendenze interne del ruolo di lavoro Python. Le librerie di terze parti definite in requirements.txt possono essere ombreggiate.
PYTHON_ISOLATE_WORKER_DEPENDENCIES 1 Classificare in ordine di priorità il caricamento delle librerie Python dal pacchetto dell'applicazione definito in requirements.txt. Ciò impedisce alle librerie di collidere con le librerie del ruolo di lavoro Python interno.

PYTHON_ENABLE_DEBUG_LOGGING

Abilita la registrazione a livello di debug in un'app per le funzioni Python. Valore di abilita la registrazione a livello di 1 debug. Senza questa impostazione o con un valore , 0solo le informazioni e i log di livello superiore vengono inviati dal ruolo di lavoro Python all'host di Funzioni. Usare questa impostazione durante il debug o la traccia delle esecuzioni delle funzioni Python.

Quando si esegue il debug delle funzioni Python, assicurarsi di impostare anche un livello di registrazione di debug o traccia nel file host.json, in base alle esigenze. Per altre informazioni, vedere Come configurare il monitoraggio per Funzioni di Azure.

PYTHON_ENABLE_WORKER_EXTENSIONS

La configurazione è specifica per le app per le funzioni Python. L'impostazione di questa opzione su 1 consente al ruolo di lavoro di caricare nelle estensioni del ruolo di lavoro Python definite in requirements.txt. Consente all'app per le funzioni di accedere a nuove funzionalità fornite da pacchetti di terze parti. Può anche modificare il comportamento del caricamento e della chiamata della funzione nell'app. Assicurarsi che l'estensione scelta sia attendibile perché si rischia di usarla. Funzioni di Azure non offre alcuna garanzia esplicita alle estensioni. Per informazioni su come usare un'estensione, visitare la pagina manuale dell'estensione o il documento leggimi. Per impostazione predefinita, questo valore imposta su 0.

Chiave Valore Descrizione
PYTHON_ENABLE_WORKER_EXTENSIONS 0 Disabilitare qualsiasi estensione del ruolo di lavoro Python.
PYTHON_ENABLE_WORKER_EXTENSIONS 1 Consentire al ruolo di lavoro Python di caricare le estensioni da requirements.txt.

PYTHON_THREADPOOL_THREAD_COUNT

Specifica il numero massimo di thread che un ruolo di lavoro del linguaggio Python userebbe per eseguire chiamate di funzione, con un valore predefinito per la versione 3.8 di 1 Python e di seguito. Per la versione 3.9 di Python e versioni successive, il valore è impostato su None. Si noti che questa impostazione non garantisce il numero di thread che verrebbero impostati durante le esecuzioni. L'impostazione consente a Python di espandere il numero di thread al valore specificato. L'impostazione si applica solo alle app per le funzioni Python. Inoltre, l'impostazione si applica alla chiamata delle funzioni sincrone e non alle coroutine.

Chiave Valore di esempio Valore massimo
PYTHON_THREADPOOL_THREAD_COUNT 2 32

SCALE_CONTROLLER_LOGGING_ENABLED

Questa impostazione è attualmente disponibile in anteprima.

Questa impostazione controlla la registrazione dal controller di scalabilità Funzioni di Azure. Per altre informazioni, vedere Ridimensionare i log dei controller.

Chiave Valore di esempio
SCALE_CONTROLLER_LOGGING_ENABLED AppInsights:Verbose

Il valore per questa chiave viene fornito nel formato <DESTINATION>:<VERBOSITY>, definito come segue:

Proprietà Descrizione
<DESTINATION> Destinazione a cui vengono inviati i log. I valori validi sono AppInsights e Blob.
Quando si usa AppInsights, assicurarsi che l'Insights dell'applicazione sia abilitata nell'app per le funzioni.
Quando si imposta la destinazione Blobsu , i log vengono creati in un contenitore BLOB denominato azure-functions-scale-controller nell'account di archiviazione predefinito impostato nell'impostazione dell'applicazione AzureWebJobsStorage .
<VERBOSITY> Specifica il livello di registrazione. I valori supportati sono None, Warning e Verbose.
Se impostato su Verbose, il controller di scalabilità registra un motivo per ogni modifica nel conteggio dei ruoli di lavoro, nonché informazioni sui trigger che influiscono su tali decisioni. I log dettagliati includono avvisi di trigger e hash usati dai trigger prima e dopo l'esecuzione del controller di scalabilità.

Suggerimento

Tenere presente che, mentre si lascia abilitata la registrazione del controller di scalabilità, influisce sui potenziali costi del monitoraggio dell'app per le funzioni. Valutare la possibilità di abilitare la registrazione fino a quando non sono stati raccolti dati sufficienti per comprendere il comportamento del controller di scalabilità e quindi disabilitarlo.

SCM_LOGSTREAM_TIMEOUT

Controlla il timeout, in secondi, quando si è connessi ai log di streaming. Il valore predefinito è 7200 (2 ore).

Codice Valore di esempio
SCM_LOGSTREAM_TIMEOUT 1800

Il valore di esempio precedente di imposta un timeout di 1800 30 minuti. Per altre informazioni, vedere Abilitare i log di streaming.

WEBSITE_CONTENTAZUREFILECONNECTIONSTRING

Stringa di connessione per l'account di archiviazione in cui il codice e la configurazione dell'app per le funzioni vengono archiviati nei piani di ridimensionamento basati su eventi. Per altre informazioni, vedere Creare un'app per le funzioni.

Codice Valore di esempio
WEBSITE_CONTENTAZUREFILECONNECTIONSTRING DefaultEndpointsProtocol=https;AccountName=...

Questa impostazione è necessaria per l'utilizzo e l'Premium pianificare le app sia in Windows che in Linux. Non è necessario per le app di piano dedicate, che non vengono ridimensionate dinamicamente da Funzioni.

La modifica o la rimozione di questa impostazione può causare l'avvio dell'app per le funzioni. Per altre informazioni, vedere questo articolo sulla risoluzione dei problemi.

WEBSITE_CONTENTOVERVNET

Un valore di consente all'app per 1 le funzioni di ridimensionare quando l'account di archiviazione è limitato a una rete virtuale. È consigliabile abilitare questa impostazione quando si limita l'account di archiviazione a una rete virtuale. Per altre informazioni, vedere Limitare l'account di archiviazione a una rete virtuale.

Codice Valore di esempio
WEBSITE_CONTENTOVERVNET 1

Supportato nei piani Premium e dedicati (servizio app) (Standard e versioni successive). Non supportato durante l'esecuzione in un piano di consumo.

WEBSITE_CONTENTSHARE

Percorso del file al codice e alla configurazione dell'app per le funzioni in piani di ridimensionamento basati su eventi. Usato con WEBSITE_CONTENTAZUREFILECONNECTIONSTRING. Il valore predefinito è una stringa univoca generata dal runtime che inizia con il nome dell'app per le funzioni. Vedere Creare un'app per le funzioni.

Chiave Valore di esempio
WEBSITE_CONTENTSHARE functionapp091999e2

Questa impostazione è necessaria per l'utilizzo e l'Premium pianificare le app sia in Windows che in Linux. Non è necessario per le app di piano dedicate, che non vengono ridimensionate dinamicamente da Funzioni.

La modifica o la rimozione di questa impostazione può causare l'avvio dell'app per le funzioni. Per altre informazioni, vedere questo articolo sulla risoluzione dei problemi.

Le considerazioni seguenti si applicano quando si usa un modello di Azure Resource Manager (ARM) per creare un'app per le funzioni durante la distribuzione:

  • Quando non si imposta un WEBSITE_CONTENTSHARE valore per l'app per le funzioni principale o per le app negli slot, vengono generati valori di condivisione univoci. Si tratta dell'approccio consigliato per una distribuzione di modelli di Resource Manager.
  • Esistono scenari in cui è necessario impostare il WEBSITE_CONTENTSHARE valore su una condivisione predefinita, ad esempio quando si usa un account di archiviazione protetto in una rete virtuale. In questo caso, è necessario impostare un nome di condivisione univoco per l'app per le funzioni principale e l'app per ogni slot di distribuzione.
  • Non creare WEBSITE_CONTENTSHARE un'impostazione dello slot.
  • Quando si specifica WEBSITE_CONTENTSHARE, il valore deve seguire questa guida per i nomi di condivisione.

Per altre informazioni, vedere Automatizzare la distribuzione delle risorse per l'app per le funzioni.

WEBSITE_SKIP_CONTENTSHARE_VALIDATION

Le impostazioni WEBSITE_CONTENTAZUREFILECONNECTIONSTRING e WEBSITE_CONTENTSHARE dispongono di controlli di convalida aggiuntivi per assicurarsi che l'app possa essere avviata correttamente. La creazione di impostazioni dell'applicazione avrà esito negativo se l'app per le funzioni non può chiamare correttamente l'account di Archiviazione downstream o Key Vault a causa di vincoli di rete o altri fattori di limitazione. Quando WEBSITE_SKIP_CONTENTSHARE_VALIDATION è impostato su 1, il controllo di convalida viene ignorato. In caso contrario, il valore predefinito viene impostato su 0 e la convalida verrà eseguita.

Chiave Valore di esempio
WEBSITE_SKIP_CONTENTSHARE_VALIDATION 1

Se la convalida viene ignorata e la condivisione di stringa di connessione o contenuto non sono valide, l'app non sarà in grado di avviare correttamente e gestirà solo errori HTTP 500.

WEBSITE_DNS_SERVER

Imposta il server DNS usato da un'app durante la risoluzione degli indirizzi IP. Questa impostazione è spesso necessaria quando si usano determinate funzionalità di rete, ad esempio zone private DNS di Azure e endpoint privati.

Chiave Valore di esempio
WEBSITE_DNS_SERVER 168.63.129.16

WEBSITE_ENABLE_BROTLI_ENCODING

Controlla se la codifica Brotli viene usata per la compressione anziché la compressione gzip predefinita. Se è impostato su 1, viene usata la codifica Brotli. In WEBSITE_ENABLE_BROTLI_ENCODING caso contrario, viene usata la codifica gzip.

WEBSITE_MAX_DYNAMIC_APPLICATION_SCALE_OUT

Numero massimo di istanze a cui l'app può aumentare. Il valore predefinito è no limit.

Importante

Questa impostazione è in anteprima. È stata aggiunta una proprietà dell'app per la scalabilità massima della funzione ed è il modo consigliato per limitare la scalabilità orizzontale.

Chiave Valore di esempio
WEBSITE_MAX_DYNAMIC_APPLICATION_SCALE_OUT 5

WEBSITE_NODE_DEFAULT_VERSION

Solo Windows. Imposta la versione di Node.js da usare quando si esegue l'app per le funzioni in Windows. È consigliabile usare una tilde (~) per avere il runtime usare la versione più recente disponibile della versione principale di destinazione. Ad esempio, se impostato su ~10, viene usata la versione più recente di Node.js 10. Quando una versione principale è destinata a una tilde, non è necessario aggiornare manualmente la versione secondaria.

Chiave Valore di esempio
WEBSITE_NODE_DEFAULT_VERSION ~10

WEBSITE_RUN_FROM_PACKAGE

Consente l'esecuzione dell'app per le funzioni da un file di pacchetto montato.

Chiave Valore di esempio
WEBSITE_RUN_FROM_PACKAGE 1

I valori validi sono un URL che si risolve nel percorso di un file di pacchetto di distribuzione o 1. Se impostato su 1, il pacchetto deve trovarsi nella cartella d:\home\data\SitePackages. Quando si usa la distribuzione di file zip con questa impostazione, il pacchetto viene caricato automaticamente in questo percorso. In anteprima questa impostazione era denominata WEBSITE_RUN_FROM_ZIP. Per altre informazioni, vedere Run your Functions from a package file (Esecuzione di Funzioni di Azure da un file di pacchetto).

WEBSITE_TIME_ZONE

Consente di impostare il fuso orario per l'app per le funzioni.

Chiave Sistema operativo Valore di esempio
WEBSITE_TIME_ZONE Windows Eastern Standard Time
WEBSITE_TIME_ZONE Linux America/New_York

Il fuso orario predefinito usato con le espressioni CRON è Coordinated Universal Time (UTC). Per fare in modo che l'espressione CRON sia basata su un altro fuso orario, creare un'impostazione per l'app per le funzioni denominata WEBSITE_TIME_ZONE.

Il valore di questa impostazione dipende dal sistema operativo e dal piano in cui viene eseguita l'app per le funzioni.

Sistema operativo Piano Valore
Windows Tutti Impostare il valore sul nome del fuso orario desiderato in base alla seconda riga di ogni coppia specificata dal comando Windowstzutil.exe /L
Linux Premium
Dedicato
Impostare il valore sul nome del fuso orario desiderato, come illustrato nel database tz.

Nota

WEBSITE_TIME_ZONE non è attualmente supportato nel piano a consumo di Linux.

Ad esempio, l'ora orientale negli Stati Uniti (rappresentata da Eastern Standard Time (Windows) o America/New_York (Linux) attualmente usa UTC-05:00 durante l'ora solare e UTC-04:00 durante l'ora legale. Per attivare un trigger timer alle 10:00 ora orientale ogni giorno, creare un'impostazione dell'app per l'app per le funzioni denominata WEBSITE_TIME_ZONE, impostare il valore su Eastern Standard Time (Windows) o America/New_York (Linux) e quindi usare l'espressione NCRONTAB seguente:

"0 0 10 * * *"

Quando si utilizza WEBSITE_TIME_ZONE l'ora viene modificata per le modifiche dell'ora nel fuso orario specifico, tra cui l'ora legale e le modifiche nell'ora solare.

WEBSITE_VNET_ROUTE_ALL

Importante

WEBSITE_VNET_ROUTE_ALL è un'impostazione dell'app legacy che è stata sostituita dall'impostazione di configurazione vnetRouteAllEnabled.

Indica se tutto il traffico in uscita dall'app viene instradato attraverso la rete virtuale. Un valore di 1 impostazione indica che tutto il traffico viene instradato attraverso la rete virtuale. Questa impostazione è necessaria quando si usano le funzionalità di integrazione della rete virtuale a livello di area. Viene usato anche quando viene usato un gateway NAT di rete virtuale per definire un indirizzo IP statico in uscita.

Codice Valore di esempio
WEBSITE_VNET_ROUTE_ALL 1

Passaggi successivi

Altre informazioni su come aggiornare le impostazioni dell'app

Vedere le impostazioni di configurazione nel file host.json

Vedere altre impostazioni app per le app del servizio app