Condividi tramite


Riferimento per le impostazioni dell’app per Funzioni di Azure

Le impostazioni dell'applicazione in un'app per le funzioni contengono le opzioni di configurazione che interessano tutte le funzioni della specifica app per le funzioni. Si accede a tali impostazioni come 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.

In questo articolo, i valori di esempio delle stringhe di connessione vengono troncati per questioni di leggibilità.

Poiché Funzioni di Azure usa la piattaforma del servizio app Azure per l'hosting, è possibile trovare alcune impostazioni rilevanti per l'hosting dell'app per le funzioni documentate in Variabili di ambiente e impostazioni dell'app in app Azure Servizio.

Considerazioni sulle impostazioni dell'app

Quando si usano le impostazioni dell'app, è consigliabile tenere presenti le considerazioni seguenti:

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

  • Nei nomi delle impostazioni, il carattere del trattino basso doppio (__) e i due punti (:) sono considerati valori riservati. I trattini bassi doppi vengono interpretati come delimitatori gerarchici in Windows e Linux, mentre i due punti vengono interpretati nello stesso modo solo in Windows. Ad esempio, l'impostazione AzureFunctionsWebHost__hostid=somehost_123456 viene interpretata come l'oggetto JSON seguente:

    "AzureFunctionsWebHost": {
        "hostid": "somehost_123456"
    }
    

    In questo articolo vengono usati solo trattini bassi doppi poiché sono supportati in entrambi i sistemi operativi. La maggior parte delle impostazioni che supportano le connessioni di identità gestita usa i trattini bassi doppi.

  • Quando Funzioni viene eseguita in locale, le impostazioni dell'app vengono specificate nella raccolta Values in local.settings.json.

  • Sono disponibili altre opzioni di configurazione delle impostazioni dell'app nel file host.json e nel file local.settings.json.

  • È possibile usare le impostazioni dell'applicazione per eseguire l'override dei valori delle impostazioni host.json senza dover modificare il file host.json stesso. Ciò è utile per gli scenari in cui è necessario configurare o modificare impostazioni di 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, consultare l'articolo di riferimento su host.json.

  • Questo articolo illustra le impostazioni più rilevanti per le app per le funzioni. Poiché Funzioni di Azure viene eseguito nel servizio app, sono supportate anche altre impostazioni dell'applicazione. Per altre informazioni, vedere Variabili di ambiente e impostazioni dell'app in Servizio app di Azure.

  • Alcuni scenari richiedono anche l'uso delle impostazioni documentate nelle impostazioni del sito del servizio app.

  • La modifica delle impostazioni dell'applicazione del servizio app di sola lettura può impostare l'app per le funzioni in uno stato di mancata risposta.

  • Prestare attenzione all'aggiornamento delle impostazioni dell'applicazione usando le API REST, inclusi i modelli di Resource Manager. Poiché queste API sostituiscono le impostazioni dell'applicazione esistenti, è necessario includere tutte le impostazioni esistenti durante l'aggiunta o la modifica delle impostazioni usando le API REST o i modelli di Resource Manager. Se possibile, usare l'interfaccia della riga di comando di Azure o Azure PowerShell per usare le impostazioni dell'applicazione a livello di programmazione. Per altre informazioni, vedere Usare le impostazioni dell'applicazione.

APPINSIGHTS_INSTRUMENTATIONKEY

La chiave di strumentazione per Application Insights. Non usare sia APPINSIGHTS_INSTRUMENTATIONKEY che APPLICATIONINSIGHTS_CONNECTION_STRING. Se possibile, usare APPLICATIONINSIGHTS_CONNECTION_STRING. Quando Application Insights viene eseguito in un cloud sovrano, è necessario 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

Non usare sia APPINSIGHTS_INSTRUMENTATIONKEY che APPLICATIONINSIGHTS_CONNECTION_STRING. È consigliabile usare APPLICATIONINSIGHTS_CONNECTION_STRING.

APPLICATIONINSIGHTS_AUTHENTICATION_STRING

Consente l'accesso ad Application Insights usando l'autenticazione Microsoft Entra. Usare questa impostazione quando è necessario connettersi all'area di lavoro di Application Insights usando l'autenticazione di Microsoft Entra. Per altre informazioni, vedere Autenticazione di Microsoft Entra per Application Insights.

Quando si usa APPLICATIONINSIGHTS_AUTHENTICATION_STRING, il valore specifico impostato dipende dal tipo di identità gestita:

Identità gestita Valore impostazione
Assegnata dal sistema Authorization=AAD
Assegnata dall'utente Authorization=AAD;ClientId=<USER_ASSIGNED_CLIENT_ID>

Questo requisito di autenticazione viene applicato alle connessioni dall'host di Funzioni, dal debugger snapshot, dal profiler e da qualsiasi agente specifico del linguaggio. Per usare questa impostazione, l'identità gestita deve essere già disponibile nell'app per le funzioni, con un ruolo assegnato equivalente ad Autore delle metriche di monitoraggio.

Nota

Quando si usa APPLICATIONINSIGHTS_AUTHENTICATION_STRING per connettersi ad Application Insights tramite l'autenticazione Microsoft Entra, è consigliabile anche disabilitare l'autenticazione locale per Application Insights. Questa configurazione richiede l'autenticazione con Microsoft Entra affinché i dati di telemetria vengano inseriti nell'area di lavoro.

APPLICATIONINSIGHTS_CONNECTION_STRING

La stringa di connessione per Application Insights. Non usare sia APPINSIGHTS_INSTRUMENTATIONKEY che APPLICATIONINSIGHTS_CONNECTION_STRING. Anche se l'uso di APPLICATIONINSIGHTS_CONNECTION_STRING è consigliato in tutti i casi, è obbligatorio nei casi seguenti:

  • Quando l'app per le funzioni richiede le personalizzazioni aggiunte supportate usando il stringa di connessione
  • Quando l'istanza di Application Insights 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=...

Per connettersi ad Application Insights con l'autenticazione di Microsoft Entra, è necessario usare APPLICATIONINSIGHTS_AUTHENTICATION_STRING.

AZURE_FUNCTION_PROXY_DISABLE_LOCAL_CALL

Importante

I proxy di Funzioni di Azure sono una funzionalità legacy per le versioni da 1.x a 3.x del runtime di Funzioni di Azure. Per altre informazioni sul supporto legacy nella versione 4.x, vedere Proxy di Funzioni.

Per impostazione predefinita, i proxy di Funzioni usano un collegamento per inviare chiamate API dai proxy direttamente alle funzioni della stessa app per le funzioni. Viene usato questo collegamento invece di creare una nuova richiesta HTTP. Questa impostazione consente di disabilitare tale comportamento del collegamento.

Chiave valore Descrizione
AZURE_FUNCTION_PROXY_DISABLE_LOCAL_CALL true Le chiamate con un URL di back-end che punta alla funzione nell'app per le funzioni locale 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 di back-end che punta alla funzione nell'app per le funzioni locale vengono inoltrate direttamente alla funzione. false è il valore predefinito.

AZURE_FUNCTION_PROXY_BACKEND_URL_DECODE_SLASHES

Importante

I proxy di Funzioni di Azure sono una funzionalità legacy per le versioni da 1.x a 3.x del runtime di Funzioni di Azure. Per altre informazioni sul supporto legacy nella versione 4.x, vedere Proxy di Funzioni.

Questa impostazione permette di controllare se i caratteri %2F vengono decodificati come barre nei parametri di route quando vengono inseriti nell'URL di 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 trasmessi senza modifiche, e ciò rappresenta il comportamento predefinito.

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

{
    "$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 in example.com/api/test. Per impostazione predefinita, l'URL rimane invariato come example.com/test%2fapi. Per altre informazioni, vedere la pagina relativa ai proxy delle funzioni.

AZURE_FUNCTIONS_ENVIRONMENT

Configura l'ambiente di hosting di runtime dell'app per le funzioni durante l'esecuzione in Azure. Questo valore viene letto durante l'inizializzazione e solo questi valori vengono rispettati dal runtime:

Valore Descrizione
Production Rappresenta un ambiente di produzione, con registrazione ridotta e ottimizzazioni complete delle prestazioni. Si tratta dell'impostazione predefinita quando AZURE_FUNCTIONS_ENVIRONMENT non è impostato o è impostato su un valore non supportato.
Staging Rappresenta un ambiente di gestione temporanea, ad esempio quando è in esecuzione in uno slot di staging.
Development Un ambiente di sviluppo supporta la registrazione più dettagliata e altre ottimizzazioni ridotte delle prestazioni. Gli Azure Functions Core Tools impostano AZURE_FUNCTIONS_ENVIRONMENT su Development quando vengono eseguiti nel computer locale. Questa impostazione non può essere sottoposta a override nel file local.settings.json.

Usare questa impostazione anziché ASPNETCORE_ENVIRONMENT quando è necessario modificare l'ambiente di runtime in Azure in un valore diverso da Production. Per altre informazioni, vedere Classe di avvio e metodi basati sull'ambiente.

Questa impostazione non è disponibile nella versione 1.x del runtime di Funzioni.

AzureFunctionsJobHost__*

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

AzureFunctionsWebHost__hostid

Imposta l'ID host per una determinata app per le funzioni, che deve essere un ID univoco. Questa impostazione sostituisce il valore dell'ID host generato automaticamente per l'app. Usare questa impostazione solo quando è necessario evitare conflitti di ID host tra app per le funzioni che condividono lo stesso account di archiviazione.

L'ID host deve soddisfare i requisiti seguenti:

  • Avere una lunghezza compresa tra 1 e 32 caratteri
  • Contenere solo lettere minuscole, numeri e segni meno
  • Non iniziare o terminare con un trattino
  • Non contenere trattini consecutivi

Un modo semplice per generare un ID consiste nell'accettare un GUID, rimuovere i trattini e modificarlo in minuscolo, ad esempio convertendo il GUID 1835D7B5-5C98-4790-815D-072CC94C6F71 nel valore 1835d7b55c984790815d072cc94c6f71.

Chiave Valore di esempio
AzureFunctionsWebHost__hostid myuniquefunctionappname123456789

Per altre informazioni, vedere Considerazioni sull'ID host.

AzureWebJobsDashboard

Questa impostazione è obsoleta ed è supportata solo quando è in esecuzione nella versione 1.x del runtime di Funzioni di Azure.

Stringa di connessione dell’account di archiviazione facoltativo per l'archiviazione dei log e la visualizzazione nella scheda Monitor nel portale. 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.

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

AzureWebJobsDisableHomepage

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

Chiave 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.

Pagina di destinazione dell’app per le funzioni

AzureWebJobsDotNetReleaseCompilation

true indica la modalità di utilizzo Release durante la compilazione di codice .NET; false significa usare la modalità debug. Il valore predefinito è true.

Chiave 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.

Chiave Valore di esempio
AzureWebJobsFeatureFlags feature1,feature2,EnableProxies

Aggiungere EnableProxies a questo elenco per riabilitare i proxy nella versione 4.x del runtime di Funzioni durante la pianificazione della migrazione a Gestione API di Azure. Per altre informazioni, vedere Riabilitare i proxy in Funzioni v4.x.

AzureWebJobsKubernetesSecretName

Indica la risorsa Segreti Kubernetes usata per l'archiviazione delle chiavi. Supportato solo quando è in esecuzione in Kubernetes. Per questa impostazione è necessario impostare AzureWebJobsSecretStorageType su kubernetes. Quando AzureWebJobsKubernetesSecretName non è impostato, il repository viene considerato di sola lettura. In questo caso, i valori devono essere generati prima della distribuzione. Azure Functions Core Tools genera automaticamente i valori durante la distribuzione in Kubernetes.

Chiave Valore di esempio
AzureWebJobsKubernetesSecretName <SECRETS_RESOURCE>

Per altre informazioni, vedere Gestire l'archiviazione delle chiavi.

AzureWebJobsSecretStorageKeyVaultClientId

L'ID client dell'identità gestita assegnata dall'utente o della registrazione dell'app usato per accedere all'insieme di credenziali in cui sono archiviate le chiavi. Per questa impostazione è necessario impostare AzureWebJobsSecretStorageType su keyvault. Supportato nella versione 4.x e nelle versioni successive del runtime di Funzioni.

Chiave Valore di esempio
AzureWebJobsSecretStorageKeyVaultClientId <CLIENT_ID>

Per altre informazioni, vedere Gestire l'archiviazione delle chiavi.

AzureWebJobsSecretStorageKeyVaultClientSecret

Il segreto per l'ID client dell'identità gestita assegnata dall'utente o della registrazione dell'app usato per accedere all'insieme di credenziali in cui sono archiviate le chiavi. Per questa impostazione è necessario impostare AzureWebJobsSecretStorageType su keyvault. Supportato nella versione 4.x e nelle versioni successive del runtime di Funzioni.

Chiave Valore di esempio
AzureWebJobsSecretStorageKeyVaultClientSecret <CLIENT_SECRET>

Per altre informazioni, vedere Gestire l'archiviazione delle chiavi.

AzureWebJobsSecretStorageKeyVaultName

Questa impostazione è deprecata ed è stata usata solo quando è in esecuzione nella versione 3.x del runtime di Funzioni di Azure.

Il nome di un'istanza dell'insieme di credenziali delle chiavi usata per archiviare le chiavi. Questa impostazione è stata usata solo nella versione 3.x del runtime di Funzioni, che non è più supportata. Per la versione 4.x, usare invece AzureWebJobsSecretStorageKeyVaultUri. Per questa impostazione è necessario impostare AzureWebJobsSecretStorageType su keyvault.

L'insieme di credenziali deve avere un criterio di accesso corrispondente all'identità gestita assegnata dal sistema della risorsa di hosting. Il criterio di accesso deve concedere all'identità le autorizzazioni segrete seguenti: Get, Set, List e Delete.
Quando le funzioni vengono eseguite in locale, 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 Gestire l'archiviazione delle chiavi.

AzureWebJobsSecretStorageKeyVaultTenantId

L'ID tenant della registrazione dell'app usata per accedere all'insieme di credenziali in cui sono archiviate le chiavi. Per questa impostazione è necessario impostare AzureWebJobsSecretStorageType su keyvault. Supportato nella versione 4.x e nelle versioni successive del runtime di Funzioni. Per altre informazioni, vedere Gestire l'archiviazione delle chiavi.

Chiave Valore di esempio
AzureWebJobsSecretStorageKeyVaultTenantId <TENANT_ID>

AzureWebJobsSecretStorageKeyVaultUri

L'URI di un'istanza dell'insieme di credenziali delle chiavi usato per archiviare le chiavi. Supportato nella versione 4.x e nelle 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. Per questa impostazione è necessario impostare AzureWebJobsSecretStorageType su keyvault.

Il valore AzureWebJobsSecretStorageKeyVaultUri deve corrispondere al valore completo dell'URI dell'insieme di credenziali visualizzato nella scheda Panoramica dell'insieme di credenziali delle chiavi, compreso https://.

L'insieme di credenziali deve avere un criterio di accesso corrispondente all'identità gestita assegnata dal sistema della risorsa di hosting. Il criterio di accesso deve concedere all'identità le autorizzazioni segrete seguenti: Get, Set, List e Delete.
Quando le funzioni vengono eseguite in locale, 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 i riferimenti a Key Vault per Funzioni di Azure.

AzureWebJobsSecretStorageSas

L'URL di firma di accesso condiviso di archiviazione BLOB 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 segreta, assicurarsi che AzureWebJobsSecretStorageType non sia impostata in modo esplicito o non sia impostata su blob. Per altre informazioni, vedere Gestire l'archiviazione delle chiavi.

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. L'archiviazione BLOB è il comportamento predefinito quando AzureWebJobsSecretStorageType non è impostato.
Per specificare un account di archiviazione diverso, usare l'impostazione AzureWebJobsSecretStorageSas per indicare l'URL di firma di accesso condiviso di un secondo account di archiviazione.
AzureWebJobsSecretStorageType files Le chiavi vengono salvate in modo permanente nel file system. Ciò corrisponde al funzionamento predefinito di Funzioni v1.x.
AzureWebJobsSecretStorageType keyvault Le chiavi vengono archiviate in un'istanza dell'insieme di credenziali delle chiavi impostata da AzureWebJobsSecretStorageKeyVaultName.
AzureWebJobsSecretStorageType 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. Azure Functions Core Tools genera automaticamente i valori durante la distribuzione in Kubernetes.

Per altre informazioni, vedere Gestire l'archiviazione delle chiavi.

AzureWebJobsStorage

Specifica la stringa di connessione per un account di archiviazione di Azure usato dal runtime di Funzioni per le normali operazioni. Alcuni usi di questo account di archiviazione da parte di Funzioni includono la gestione delle chiavi, la gestione dei trigger di tempo e i checkpoint di Hub eventi. 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.

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

Anziché una stringa di connessione, è possibile usare una connessione basata su identità per questo account di archiviazione. Per maggiori informazioni, consultare la sezione Connessione all'archiviazione host con un'identità.

AzureWebJobsStorage__accountName

Quando si usa una connessione di archiviazione basata su identità, imposta il nome dell'account di archiviazione anziché usare la stringa di connessione in AzureWebJobsStorage. Questa sintassi è univoca per AzureWebJobsStorage e non può essere usata per altre connessioni basate su identità.

Chiave Valore di esempio
AzureWebJobsStorage__accountName <STORAGE_ACCOUNT_NAME>

Per i cloud sovrani o quando si usa un DNS personalizzato, è invece necessario usare le impostazioni AzureWebJobsStorage__*ServiceUri specifiche del servizio.

AzureWebJobsStorage__blobServiceUri

Quando si usa una connessione di archiviazione basata su identità, imposta l'URI del piano dati del servizio BLOB dell'account di archiviazione.

Chiave Valore di esempio
AzureWebJobsStorage__blobServiceUri https://<STORAGE_ACCOUNT_NAME>.blob.core.windows.net

Usare questa impostazione anziché AzureWebJobsStorage__accountName nei cloud sovrani o quando si usa un DNS personalizzato. Per maggiori informazioni, consultare la sezione Connessione all'archiviazione host con un'identità.

AzureWebJobsStorage__queueServiceUri

Quando si usa una connessione di archiviazione basata su identità, imposta l'URI del piano dati del servizio di accodamento dell'account di archiviazione.

Chiave Valore di esempio
AzureWebJobsStorage__queueServiceUri https://<STORAGE_ACCOUNT_NAME>.queue.core.windows.net

Usare questa impostazione anziché AzureWebJobsStorage__accountName nei cloud sovrani o quando si usa un DNS personalizzato. Per maggiori informazioni, consultare la sezione Connessione all'archiviazione host con un'identità.

AzureWebJobsStorage__tableServiceUri

Quando si usa una connessione di archiviazione basata su identità, imposta l'URI del piano dati del servizio tabelle dell'account di archiviazione.

Chiave Valore di esempio
AzureWebJobsStorage__tableServiceUri https://<STORAGE_ACCOUNT_NAME>.table.core.windows.net

Usare questa impostazione anziché AzureWebJobsStorage__accountName nei cloud sovrani o quando si usa un DNS personalizzato. Per maggiori informazioni, consultare la sezione Connessione all'archiviazione host con un'identità.

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_REGISTRY_SERVER_PASSWORD

Indica la password usata per accedere a un registro contenitori privato. Questa impostazione è necessaria solo quando si distribuisce l'app per le funzioni in contenitori da un registro contenitori privato. Per altre informazioni, vedere Variabili di ambiente e impostazioni dell'app in Servizio app di Azure.

DOCKER_REGISTRY_SERVER_URL

Indica l'URL di un registro contenitori privato. Questa impostazione è necessaria solo quando si distribuisce l'app per le funzioni in contenitori da un registro contenitori privato. Per altre informazioni, vedere Variabili di ambiente e impostazioni dell'app in Servizio app di Azure.

DOCKER_REGISTRY_SERVER_USERNAME

Indica l'account usato per accedere a un registro contenitori privato. Questa impostazione è necessaria solo quando si distribuisce l'app per le funzioni in contenitori da un registro contenitori privato. Per altre informazioni, vedere Variabili di ambiente e impostazioni dell'app in Servizio app di Azure.

DOCKER_SHM_SIZE

Imposta le dimensioni della memoria condivisa (in byte) 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 la dimensione della memoria condivisa su circa 256 MB.

Richiede che FUNCTIONS_WORKER_SHARED_MEMORY_DATA_TRANSFER_ENABLED sia impostato su 1.

ENABLE_ORYX_BUILD

Indica se il sistema di compilazione Oryx viene usato durante la distribuzione. ENABLE_ORYX_BUILD deve essere impostato su true quando si eseguono distribuzioni di compilazione remota in Linux. Per ulteriori informazioni, vedere Compilazione remota.

Chiave Valore di esempio
ENABLE_ORYX_BUILD true

FUNCTION_APP_EDIT_MODE

Indica se è possibile modificare l'app per le funzioni nel portale di Azure. I valori validi sono readwrite e readonly.

Chiave Valore di esempio
FUNCTION_APP_EDIT_MODE readonly

Il valore viene impostato dal runtime in base allo stack di linguaggio e allo stato di distribuzione dell'app per le funzioni. Per altre informazioni, vedere Limitazioni di sviluppo nel portale di Azure.

FUNCTIONS_EXTENSION_VERSION

La versione del runtime di Funzioni che ospita l'app per le funzioni. Una tilde (~) con versione principale indica l'uso della versione più recente di quella versione principale (ad esempio, ~4). Quando sono disponibili nuove versioni secondarie della stessa versione principale, vengono installate automaticamente nell'app per le funzioni.

Chiave Valore di esempio
FUNCTIONS_EXTENSION_VERSION ~4

Sono supportati i valori di versione di runtime principali seguenti:

Valore Destinazione del runtime Commento
~4 4.x Requisiti consigliati
~1 1.x Il supporto termina il 14 settembre 2026

Il valore ~4 indica che l'app viene eseguita nella versione 4.x del runtime. Un valore di ~1 aggiunge l'app alla versione 1.x del runtime. Le versioni di runtime 2.x e 3.x non sono più supportate. Per altre informazioni, vedere Panoramica delle versioni del runtime per Funzioni di Azure. Se è richiesto dal supporto di aggiungere l'app a una specifica versione secondaria, usare il numero di versione completo (ad esempio, 4.0.12345). Per altre informazioni, vedere Come specificare le versioni del runtime per Funzioni di Azure.

FUNCTIONS_INPROC_NET8_ENABLED

Indica se un'app può usare .NET 8 nel modello In-Process. Per usare .NET 8 nel modello In-Process, questo valore deve essere impostato su 1. Per istruzioni complete, inclusi altri valori di configurazione necessari, vedere Aggiornamento a .NET 8 di destinazione.

Chiave Valore di esempio
FUNCTIONS_INPROC_NET8_ENABLED 1

Impostare su 0 per disabilitare il supporto per .NET 8 nel modello In-Process.

FUNCTIONS_NODE_BLOCK_ON_ENTRY_POINT_ERROR

Questa impostazione dell'app è una modalità temporanea usata dalle app Node.js per abilitare una modifica di rilievo che semplifica la risoluzione dei problemi dei punti di ingresso in Node.js v18 o versione precedente. È consigliabile usare true, soprattutto per le app del modello di programmazione v4, che usano sempre i file del punto di ingresso. Il comportamento senza modifiche di rilievo (false) ignora gli errori del punto di ingresso e non li registra in Application Insights.

A partire da Node.js v20, l'impostazione dell'app non ha alcun effetto e il comportamento di modifica di rilievo è sempre abilitato.

Per Node.js v18 o versione precedente, viene usata l'impostazione dell'app e il comportamento predefinito dipende dal fatto che l'errore si verifichi prima o dopo la registrazione di una funzione del modello v4:

  • Se l'errore viene generato prima (ad esempio se si usa il modello v3 o il file del punto di ingresso non esiste), il comportamento predefinito corrisponde a false.
  • Se l'errore viene generato dopo (ad esempio se si tenta di registrare funzioni del modello duplicato v4), il comportamento predefinito corrisponde a true.
Chiave valore Descrizione
FUNCTIONS_NODE_BLOCK_ON_ENTRY_POINT_ERROR true Bloccare gli errori del punto di ingresso e registrarli in Application Insights.
FUNCTIONS_NODE_BLOCK_ON_ENTRY_POINT_ERROR false Ignorare gli errori del punto di ingresso e non registrarli in Application Insights.

FUNCTIONS_REQUEST_BODY_SIZE_LIMIT

Esegue l'override del limite predefinito per le dimensioni del corpo delle richieste inviate agli endpoint HTTP. Il valore viene specificato in byte, con una dimensione massima di richiesta predefinita pari a 104.857.600 byte.

Chiave Valore di esempio
FUNCTIONS_REQUEST_BODY_SIZE_LIMIT 250000000

FUNCTIONS_V2_COMPATIBILITY_MODE

Importante

Questa impostazione non è più supportata. È stata originariamente fornita per abilitare una soluzione alternativa a breve termine per le app destinate al runtime v2.x, per poter essere eseguite nel runtime v3.x mentre era ancora supportato. Ad eccezione delle app legacy eseguite nella versione 1.x, tutte le app per le funzioni devono essere eseguite nella versione 4.x del runtime di Funzioni: FUNCTIONS_EXTENSION_VERSION=~4. Per altre informazioni, vedere Panoramica delle versioni del runtime per Funzioni di Azure.

FUNCTIONS_WORKER_PROCESS_COUNT

Specifica il numero massimo di processi di lavoro del linguaggio, con un valore predefinito di 1. Il valore massimo consentito è 10. Le chiamate di funzione vengono distribuite uniformemente tra i processi di lavoro del linguaggio. I processi di lavoro del linguaggio vengono generati ogni 10 secondi finché non viene raggiunto il conteggio impostato da FUNCTIONS_WORKER_PROCESS_COUNT. L'uso di più processi di lavoro del linguaggio non è come eseguire il ridimensionamento. Prendere in considerazione l'uso di questa impostazione quando il carico di lavoro include una combinazione di chiamate associate a CPU e I/O. Questa impostazione si applica a tutti i runtime del linguaggio, ad eccezione di .NET in esecuzione nel processo (FUNCTIONS_WORKER_RUNTIME=dotnet).

Chiave Valore di esempio
FUNCTIONS_WORKER_PROCESS_COUNT 2

FUNCTIONS_WORKER_RUNTIME

Il linguaggio o lo stack di linguaggio del runtime del ruolo di lavoro da caricare nell'app per le funzioni. Corrisponde al linguaggio usato nell'applicazione (ad esempio, python). 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/stack di linguaggio
dotnet C# (libreria di classi)
C# (script)
dotnet-isolated C# (processo di lavoro isolato)
java Java
node JavaScript
TypeScript
powershell PowerShell
python Python
custom Altro

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.

Chiave 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.

JAVA_OPTS

Usato per personalizzare la macchina virtuale Java (JVM) usata per eseguire le funzioni Java durante l'esecuzione in un piano Premium o in un piano Dedicato. Quando si esegue in un piano A consumo, usare invece languageWorkers__java__arguments. Per altre informazioni, vedere Personalizzare la JVM.

languageWorkers__java__arguments

Usato per personalizzare la macchina virtuale Java (JVM) usata per eseguire le funzioni Java durante l'esecuzione in un piano A consumo. Questa impostazione aumenta i tempi di avvio a freddo per le funzioni Java in esecuzione su un piano A consumo. Per i piani Premium o Dedicato, usare invece JAVA_OPTS. Per altre informazioni, vedere Personalizzare la JVM.

MDMaxBackgroundUpgradePeriod

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

Ogni processo di lavoro di PowerShell avvia il controllo degli aggiornamenti dei moduli in PowerShell Gallery all'avvio del processo e, successivamente, ogni MDMaxBackgroundUpgradePeriod. Quando una nuova versione del modulo è disponibile in 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 prima 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 la distribuzione di nuove versioni del modulo all'app.

Chiave Valore di esempio
MDMaxBackgroundUpgradePeriod 7.00:00:00

Per altre informazioni, consultare Gestione 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. Finché non vengono riavviati tutti i processi di lavoro di PowerShell, le chiamate di funzione possono usare sia le versioni precedenti del modulo che quelle nuove. Il riavvio di tutti i ruoli di lavoro di PowerShell viene completato all'interno di MDNewSnapshotCheckPeriod.

All'interno di ogni MDNewSnapshotCheckPeriod, il ruolo di lavoro di PowerShell controlla se sono stati installati o meno gli aggiornamenti delle dipendenze gestite. Quando gli aggiornamenti sono stati installati, viene eseguito 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 del modulo o quelle nuove, in modo non deterministico.

Chiave Valore di esempio
MDNewSnapshotCheckPeriod 01:00:00

Per altre informazioni, consultare Gestione dipendenze.

MDMinBackgroundUpgradePeriod

Il periodo di tempo trascorso dal controllo precedente dell'aggiornamento delle dipendenze gestite prima dell'avvio di un altro controllo di aggiornamento, con un valore predefinito di 1.00:00:00 (giornaliero).

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

Chiave Valore di esempio
MDMinBackgroundUpgradePeriod 1.00:00:00

Per altre informazioni, consultare Gestione dipendenze.

PIP_INDEX_URL

Questa impostazione consente di eseguire l'override dell'URL di base dell'indice del pacchetto Python, che per impostazione predefinita è https://pypi.org/simple. Usare questa impostazione quando è necessario eseguire una compilazione remota usando dipendenze personalizzate. Le dipendenze personalizzate possono trovarsi in un repository di indici di pacchetti conforme a PEP 503 (API repository semplice) o in una directory locale che segue lo stesso formato.

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

Per altre informazioni, vedere la documentazione pip per --index-url e l'uso di dipendenze personalizzate nelle informazioni di riferimento per sviluppatori Python.

PIP_EXTRA_INDEX_URL

Il valore per questa impostazione indica un URL di indice aggiuntivo per i pacchetti personalizzati per le app Python, da usare oltre a --index-url. Usare questa impostazione quando è necessario eseguire una compilazione remota usando dipendenze personalizzate presenti in un indice di pacchetto aggiuntivo. Deve seguire le stesse regole di --index-url.

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

Per altre informazioni, vedere la documentazione pip per --extra-index-url e dipendenze personalizzate nelle informazioni di riferimento per sviluppatori Python.

PROJECT

Un'impostazione di distribuzione continua che indica al servizio di distribuzione Kudu la cartella in un repository connesso per il percorso del progetto distribuibile.

Chiave Valore di esempio
PROJECT WebProject/WebProject.csproj

PYTHON_ISOLATE_WORKER_DEPENDENCIES

La configurazione è specifica per le app per le funzioni Python. Definisce la priorità dell'ordine di caricamento dei moduli. Per impostazione predefinita, questo valore è impostato su 0.

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, ovvero il comportamento predefinito. Le librerie di terze parti definite in requirements.txt potrebbero essere nascoste.
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 entrare in conflitto 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. Il valore di 1 abilita la registrazione a livello di debug. Senza questa impostazione o con il valore 0, solo le informazioni e i log di livello superiore vengono inviati dal ruolo di lavoro Python all'host Funzioni. Usare questa impostazione durante il debug o il tracciamento delle esecuzioni delle funzioni Python.

Quando si esegue il debug delle funzioni Python, assicurarsi di impostare anche un livello di registrazione di debug o tracciamento 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 in 1 consente di caricare il ruolo di lavoro nelle estensioni del ruolo di lavoro Python definite in requirements.txt. Consente all'app per le funzioni di accedere alle nuove funzionalità fornite dai pacchetti di terze parti. Può anche modificare il comportamento del caricamento e della chiamata delle funzioni nell'app. Assicurarsi che l'estensione scelta sia attendibile, in quanto il rischio dell'uso è in capo all'utente. Funzioni di Azure non offre alcuna garanzia esplicita sulle estensioni. Per informazioni su come usare un'estensione, visitare la pagina del manuale sull'estensione o la documentazione. Per impostazione predefinita, questo valore è impostato su 0.

Chiave valore Descrizione
PYTHON_ENABLE_WORKER_EXTENSIONS 0 Disabilitare le estensioni 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 di 1 per la versione di Python 3.8 e precedente. Per la versione di Python 3.9 e successiva, il valore è impostato su None. Questa impostazione non garantisce il numero di thread che verranno 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 versione di anteprima.

Questa impostazione controlla la registrazione dal controller di scalabilità di Funzioni di Azure. Per altre informazioni, vedere Ridimensionare i log del 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 sono inviati i log. I valori validi sono AppInsights e Blob.
Quando si usa AppInsights, assicurarsi che Application Insights sia abilitato nell'app per le funzioni.
Quando si imposta la destinazione su Blob, 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 e le informazioni sui trigger che determinano tali decisioni. I log dettagliati includono avvisi di trigger e codici 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à, questa influisce sui potenziali costi del monitoraggio dell'app per le funzioni. Valutare la possibilità di abilitare la registrazione fino a quando non saranno stati raccolti dati sufficienti per comprendere il comportamento del controller di scalabilità, quindi disabilitarla.

SCM_DO_BUILD_DURING_DEPLOYMENT

Controlla il comportamento di compilazione remota durante la distribuzione. Quando SCM_DO_BUILD_DURING_DEPLOYMENT è impostato su true, il progetto viene compilato in modalità remota durante la distribuzione.

Chiave Valore di esempio
SCM_DO_BUILD_DURING_DEPLOYMENT true

SCM_LOGSTREAM_TIMEOUT

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

Chiave Valore di esempio
SCM_LOGSTREAM_TIMEOUT 1800

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

WEBSITE_CONTENTAZUREFILECONNECTIONSTRING

Stringa di connessione per l'account di archiviazione in cui sono archiviati il codice e la configurazione dell'app per le funzioni in piani di ridimensionamento guidati dagli eventi. Per altre informazioni, vedere Impostazione di connessione dell'account di archiviazione.

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

Questa impostazione è necessaria per le app dei piani A consumo ed Elastico Premium in esecuzione sia in Windows che in Linux. Non è necessaria per le app del piano Dedicato, che non vengono ridimensionate dinamicamente da Funzioni.

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

File di Azure non supporta l'uso dell'identità gestita quando si accede alla condivisione file. Per altre informazioni, vedere Scenari di autenticazione supportati da File di Azure.

WEBSITE_CONTENTOVERVNET

Importante

WEBSITE_CONTENTOVERVNET è un'impostazione di app legacy sostituita dalla proprietà del sito vnetContentShareEnabled.

Il valore 1 consente il ridimensionamento dell'app per le funzioni 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. Obbligatoria solo quando si usa WEBSITE_CONTENTSHARE e WEBSITE_CONTENTAZUREFILECONNECTIONSTRING. Per altre informazioni, vedere Limitare l'account di archiviazione a una rete virtuale.

Chiave Valore di esempio
WEBSITE_CONTENTOVERVNET 1

Questa impostazione dell'app è necessaria nei piani Elastic Premium e Dedicato (Servizio app) (Standard e versioni superiori). Non supportato quando si esegue in un piano A consumo.

Nota

È necessario prestare particolare attenzione quando si esegue il routing alla condivisione dei contenuti in un account di archiviazione condiviso da più app per le funzioni nello stesso piano. Per altre informazioni, vedere Routing coerente tramite reti virtuali nell'articolo Considerazioni sull'archiviazione.

WEBSITE_CONTENTSHARE

Il nome della condivisione file usata da Funzioni per archiviare il codice e i file di configurazione dell'app per le funzioni. Questo contenuto è obbligatorio per i piani di ridimensionamento guidati dagli eventi. Utilizzato insieme a WEBSITE_CONTENTAZUREFILECONNECTIONSTRING, Il valore predefinito è una stringa univoca generata dal runtime che inizia con il nome dell'app per le funzioni. Per altre informazioni, vedere Impostazione di connessione dell'account di archiviazione.

Chiave Valore di esempio
WEBSITE_CONTENTSHARE functionapp091999e2

Questa impostazione è necessaria per le app dei piani A consumo e Premium sia in Windows che in Linux. Non è necessaria per le app del piano Dedicato, che non vengono ridimensionate dinamicamente da Funzioni.

La condivisione viene creata al momento della creazione dell'app per le funzioni. La modifica o la rimozione di questa impostazione può impedire 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) o un file Bicep per creare un'app per le funzioni durante la distribuzione:

  • Quando non si imposta un valore WEBSITE_CONTENTSHARE per l'app per le funzioni principale o per le app negli slot, vengono generati automaticamente valori di condivisione univoci. Non impostare WEBSITE_CONTENTSHARE è l'approccio consigliato per una distribuzione di modelli di Resource Manager.
  • Esistono scenari in cui è necessario impostare il valore WEBSITE_CONTENTSHARE in un valore predefinito, 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. Nel caso di un account di archiviazione protetto da una rete virtuale, è anche necessario creare la condivisione stessa come parte della distribuzione automatizzata. Per altre informazioni, vedere Distribuzioni protette.
  • Non impostare uno slot con WEBSITE_CONTENTSHARE.
  • Quando si specifica WEBSITE_CONTENTSHARE, il valore deve seguire queste indicazioni per i nomi di condivisione.

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 ed endpoint privati di DNS di Azure.

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 al posto della compressione gzip predefinita. Se WEBSITE_ENABLE_BROTLI_ENCODING è impostato su 1, viene usata la codifica Brotli; in caso contrario, viene usata la codifica gzip.

WEBSITE_FUNCTIONS_ARMCACHE_ENABLED

Disabilita la memorizzazione nella cache durante la distribuzione di app per le funzioni usando modelli di Azure Resource Manager (ARM).

Chiave Valore di esempio
WEBSITE_FUNCTIONS_ARMCACHE_ENABLED 0

WEBSITE_MAX_DYNAMIC_APPLICATION_SCALE_OUT

Il numero massimo di istanze che è possibile aumentare per l'app. Il valore predefinito è no limit.

Importante

Questa impostazione è disponibile in anteprima. È stata aggiunta una proprietà dell'app per il numero massimo di istanze della funzione ed è il modo consigliato per limitare la scalabilità.

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 durante l'esecuzione dell'app per le funzioni in Windows. È consigliabile usare una tilde (~) per fare in modo che il runtime usi la versione più recente disponibile della versione principale di destinazione. Ad esempio, quando è impostato su ~18, viene usata la versione più recente di Node.js 18. Quando una versione principale è destinata a una tilde, non è necessario aggiornare manualmente la versione secondaria.

Chiave Valore di esempio
WEBSITE_NODE_DEFAULT_VERSION ~18

WEBSITE_OVERRIDE_STICKY_DIAGNOSTICS_SETTINGS

Quando si esegue uno scambio di slot in un'app per le funzioni in esecuzione in un piano Premium, è possibile che lo scambio non vada a buon fine quando l'account di archiviazione dedicato usato dall'app è limitato dalla rete. Questo errore è causato da una funzionalità di registrazione delle applicazioni legacy, condivisa sia da Funzioni che dal Servizio app. Questa impostazione esegue l'override della funzionalità di registrazione legacy e consente di eseguire lo scambio.

Chiave Valore di esempio
WEBSITE_OVERRIDE_STICKY_DIAGNOSTICS_SETTINGS 0

Aggiungere WEBSITE_OVERRIDE_STICKY_DIAGNOSTICS_SETTINGS con un valore di 0 a tutti gli slot per assicurarsi che le impostazioni di diagnostica legacy non blocchino gli scambi. Inoltre, è possibile aggiungere questa impostazione e questo valore solo allo slot di produzione come impostazione dello slot di distribuzione (permanente).

WEBSITE_OVERRIDE_STICKY_EXTENSION_VERSIONS

Per impostazione predefinita, le impostazioni della versione per le app per le funzioni sono specifiche di ogni slot. Questa impostazione viene usata durante l'aggiornamento delle funzioni usando gli slot di distribuzione. Ciò impedisce comportamenti imprevisti a causa della modifica delle versioni dopo lo scambio. Impostare su 0 in produzione e nello slot per assicurarsi che vengano scambiate anche tutte le impostazioni della versione. Per altre informazioni, vedere Aggiornamento tramite slot.

Chiave Valore di esempio
WEBSITE_OVERRIDE_STICKY_EXTENSION_VERSIONS 0

WEBSITE_RUN_FROM_PACKAGE

Consente all'app per le funzioni di essere in esecuzione da un file di pacchetto, che può essere montato o distribuito localmente in un URL esterno.

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 esterno 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 l'impostazione WEBSITE_RUN_FROM_PACKAGE abilitata, 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).

Quando si esegue la distribuzione da un URL di pacchetto esterno, è anche necessario sincronizzare manualmente i trigger. Per altre informazioni, vedere Sincronizzazione dei trigger.

WEBSITE_SKIP_CONTENTSHARE_VALIDATION

Le impostazioni WEBSITE_CONTENTAZUREFILECONNECTIONSTRING e WEBSITE_CONTENTSHARE hanno controlli di convalida aggiuntivi per assicurarsi che l'app possa essere avviata correttamente. La creazione delle impostazioni dell'applicazione non va a buon fine quando l'app per le funzioni non riesce a chiamare correttamente l'account di archiviazione a valle o l'insieme di credenziali delle chiavi a causa di vincoli di rete o di altri fattori di limitazione. Quando WEBSITE_SKIP_CONTENTSHARE_VALIDATION è impostato su 1, il controllo di convalida viene ignorato; in caso contrario, il valore predefinito è 0 e viene eseguita la convalida.

Chiave Valore di esempio
WEBSITE_SKIP_CONTENTSHARE_VALIDATION 1

Se la convalida viene ignorata e la stringa di connessione o la condivisione di contenuto non sono valide, l'app non sarà in grado di avviarsi correttamente. In questo caso, le funzioni restituiscono errori HTTP 500. Per altre informazioni, vedere Risolvere l'errore: "Il runtime di Funzioni di Azure non è raggiungibile"

WEBSITE_SLOT_NAME

Sola lettura. Nome dello slot di distribuzione corrente. Il nome dello slot di produzione è Production.

Chiave Valore di esempio
WEBSITE_SLOT_NAME Production

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 Tutte le date Impostare il valore sul nome del fuso orario desiderato in base alla seconda riga di ogni coppia specificata dal comando di Windows tzutil.exe /L
Linux Premium
Dedicato
Impostare il valore sul nome del fuso orario desiderato come illustrato nel database tz.

Nota

Attualmente WEBSITE_TIME_ZONE e TZ non sono supportati durante l'esecuzione in Linux in un piano A consumo. In questo caso, l'impostazione di WEBSITE_TIME_ZONE o TZ può creare problemi correlati a SSL e causare l'interruzione del funzionamento delle metriche per l'app.

Ad esempio, il fuso orientale negli Stati Uniti (rappresentato da Eastern Standard Time (Windows) o America/New_York (Linux)) usa attualmente UTC-05:00 durante l'ora solare e UTC-04:00 durante l'ora legale. Per attivare un trigger orario alle 10:00 del fuso 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), quindi usare l'espressione NCRONTAB seguente:

"0 0 10 * * *"

Quando si usa WEBSITE_TIME_ZONE, l'ora viene regolata per modifiche all'ora nel fuso orario specifico, comprese l'ora legale e le modifiche all'ora solare.

WEBSITE_USE_PLACEHOLDER

Indica se usare un'ottimizzazione specifica per l'avvio a freddo durante l'esecuzione nel piano A consumo. Impostare su 0 per disabilitare l'ottimizzazione per l'avvio a freddo nel piano A consumo.

Chiave Valore di esempio
WEBSITE_USE_PLACEHOLDER 1

WEBSITE_USE_PLACEHOLDER_DOTNETISOLATED

Indica se usare un'ottimizzazione specifica per l'avvio a freddo durante l'esecuzione di funzioni del processo di lavoro isolato .NET nel piano A consumo. Impostare su 0 per disabilitare l'ottimizzazione per l'avvio a freddo nel piano A consumo.

Chiave Valore di esempio
WEBSITE_USE_PLACEHOLDER_DOTNETISOLATED 1

WEBSITE_VNET_ROUTE_ALL

Importante

WEBSITE_VNET_ROUTE_ALL è un'impostazione di app legacy che è stata sostituita dall'impostazione del sito vnetRouteAllEnabled.

Indica se tutto il traffico in uscita dall'app viene indirizzato attraverso la rete virtuale. Un valore di impostazione 1 indica che tutto il traffico dell’applicazione viene indirizzato attraverso la rete virtuale. Questa impostazione sarà necessaria quando si configura l'integrazione della rete virtuale a livello di area nei piani di hosting Elastic Premium e Dedicato. Si usa anche quando viene usato un gateway NAT di rete virtuale per definire un indirizzo IP statico in uscita.

Chiave Valore di esempio
WEBSITE_VNET_ROUTE_ALL 1

WEBSITES_ENABLE_APP_SERVICE_STORAGE

Indica se la directory /home è condivisa con le istanze ridimensionate, con un valore predefinito di true. È consigliabile impostare il valore su false quando si distribuisce l'app per le funzioni in un contenitore.

Impostazioni del sito del Servizio app

Alcune configurazioni devono essere gestite a livello di Servizio app come impostazioni del sito, ad esempio le versioni della lingua. Queste impostazioni vengono gestite nel portale usando le API REST, l'interfaccia della riga di comando di Azure o Azure PowerShell. Di seguito sono riportate le impostazioni del sito che potrebbero essere necessarie, a seconda del linguaggio di runtime, del sistema operativo e delle versioni:

AcrUseManagedIdentityCreds

Indica se l'immagine viene ottenuta da un'istanza di Registro Azure Container usando l'autenticazione dell'identità gestita. Un valore di true richiede che venga usata l'identità gestita, consigliata rispetto alle credenziali di autenticazione archiviate come procedura consigliata per la sicurezza.

AcrUserManagedIdentityID

Indica l'identità gestita da usare per ottenere l'immagine da un'istanza di Registro Azure Container. Richiede che AcrUseManagedIdentityCreds sia impostato su true. Questi sono i valori validi:

valore Descrizione
system Viene usata l'identità gestita assegnata dal sistema dell'app per le funzioni.
<USER_IDENTITY_RESOURCE_ID> ID risorsa completo di un'identità gestita assegnata dall'utente.

L'identità specificata deve essere aggiunta al ACRPull ruolo nel registro contenitori. Per altre informazioni, vedere Creare e configurare un'app per le funzioni in Azure con l'immagine.

Always On

In un'app per le funzioni in esecuzione in un piano Dedicato (Servizio app), il runtime delle funzioni diventa inattivo dopo alcuni minuti di inattività, puntando solo alle richieste a un trigger HTTP che riattivano le app per le funzioni. Per assicurarsi che le funzioni attivate non HTTP vengano eseguite correttamente, incluso le funzioni trigger orario, abilitare Always On per l'app per le funzioni impostando l'impostazione del sito alwaysOn su un valore di true.

functionsRuntimeAdminIsolationEnabled

Determina se è possibile accedere agli endpoint dell'amministratore predefinito (/admin) nell'app per le funzioni. Se impostato su false (impostazione predefinita), l'app consente le richieste agli endpoint in /admin quando tali richieste presentano una chiave master nella richiesta. In caso di true, non è possibile accedere agli endpoint /admin, anche con una chiave master.

Questa proprietà non può essere impostata per le app in esecuzione nell'SKU a consumo Linux e non può essere impostata per le app in esecuzione nella versione 1.x di Funzioni di Azure. Se si usa la versione 1.x, è prima necessario eseguire la migrazione alla versione 4.x.

linuxFxVersion

Per le app per le funzioni in esecuzione in Linux, linuxFxVersion indica la lingua e la versione per il processo di lavoro specifico del linguaggio. Queste informazioni vengono usate, oltre a FUNCTIONS_EXTENSION_VERSION, per determinare quale immagine del contenitore Linux specifica è installata per eseguire l'app per le funzioni. Questa impostazione può assumere un valore predefinito o un URI dell'immagine personalizzata.

Questo valore viene impostato automaticamente quando si crea l'app per le funzioni Linux. Potrebbe essere necessario impostarlo per i modelli di Resource Manager e le distribuzioni Bicep, nonché in determinati scenari di aggiornamento.

Valori linuxFxVersion validi

È possibile usare il comando seguente dell'interfaccia della riga di comando di Azure per visualizzare una tabella dei valori linuxFxVersion correnti, in base alla versione del runtime di Funzioni supportata:

az functionapp list-runtimes --os linux --query "[].{stack:join(' ', [runtime, version]), LinuxFxVersion:linux_fx_version, SupportedFunctionsVersions:to_string(supported_functions_versions[])}" --output table

Il comando precedente richiede l'aggiornamento alla versione 2.40 dell'interfaccia della riga di comando di Azure.

Immagini personalizzate

Quando si crea e gestisce un contenitore Linux personalizzato per l'app per le funzioni, il valore linuxFxVersion è invece nel formato DOCKER|<IMAGE_URI>, come nell'esempio seguente:

linuxFxVersion = "DOCKER|contoso.com/azurefunctionsimage:v1.0.0"

Indica l'origine del registro di sistema del contenitore distribuito. Per altre informazioni, vedere Uso di contenitori e Funzioni di Azure.

Importante

Quando si creano contenitori personalizzati, è necessario mantenere aggiornata l'immagine di base del contenitore all'immagine di base supportata più recente. Le immagini di base supportate per Funzioni di Azure sono specifiche del linguaggio e sono disponibili nei repository dell'immagine di base di Funzioni di Azure.

Il team di Funzioni si impegna a pubblicare aggiornamenti mensili per queste immagini di base. Gli aggiornamenti regolari includono gli aggiornamenti della versione secondaria più recenti e le correzioni di sicurezza sia per il runtime di Funzioni che per i linguaggi. È consigliabile aggiornare regolarmente il contenitore dall'immagine di base più recente e ridistribuire la versione aggiornata del contenitore.

netFrameworkVersion

Imposta la versione specifica di .NET per le funzioni C#. Per altre informazioni, vedere Aggiornare l'app per le funzioni in Azure.

powerShellVersion

Imposta la versione specifica di PowerShell in cui vengono eseguite le funzioni. Per altre informazioni, vedere Modifica della versione di PowerShell.

Quando l'esecuzione avviene localmente, si usa invece l'impostazione FUNCTIONS_WORKER_RUNTIME_VERSION nel file local.settings.json.

vnetContentShareEnabled

Le app in esecuzione in un piano Premium usano una condivisione file per archiviare il contenuto. Il nome di questa condivisione di contenuti viene archiviato nell'impostazione dell'app WEBSITE_CONTENTSHARE e la relativa stringa di connessione viene archiviata in WEBSITE_CONTENTAZUREFILECONNECTIONSTRING. Per instradare il traffico tra l'app per le funzioni e la condivisione dei contenuti tramite una rete virtuale, è necessario impostare anche vnetContentShareEnabled su true. L'abilitazione di questa proprietà del sito è un requisito quando si limita l'account di archiviazione a una rete virtuale nei piani di hosting Elastic Premium e Dedicato.

Nota

È necessario prestare particolare attenzione quando si esegue il routing alla condivisione dei contenuti in un account di archiviazione condiviso da più app per le funzioni nello stesso piano. Per altre informazioni, vedere Routing coerente tramite reti virtuali nell'articolo Considerazioni sull'archiviazione.

Questa proprietà del sito sostituisce l'impostazione legacy WEBSITE_CONTENTOVERVNET.

vnetImagePullEnabled

Funzioni supporta le app per le funzioni in esecuzione nei contenitori Linux. Per connettersi ed eseguire il pull da un registro contenitori all'interno di una rete virtuale, è necessario impostare vnetImagePullEnabled su true. Questa proprietà del sito è supportata nei piani di hosting Elastic Premium e Dedicato. Il piano a consumo Flex non si basa sulle proprietà del sito o sulle impostazioni dell'app per configurare la rete. Per altre informazioni, vedere Deprecazione nel piano a consumo Flex.

vnetRouteAllEnabled

Indica se tutto il traffico in uscita dall'app viene indirizzato attraverso la rete virtuale. Un valore di impostazione true indica che tutto il traffico dell’applicazione viene indirizzato attraverso la rete virtuale. Usare questa impostazione quando si configura l'integrazione della rete virtuale a livello di area nei piani Elastic Premium e Dedicato. Si usa anche quando viene usato un gateway NAT di rete virtuale per definire un indirizzo IP statico in uscita. Per altre informazioni, vedere Configurare il routing delle applicazioni.

Questa impostazione del sito sostituisce l'impostazione WEBSITE_VNET_ROUTE_ALL legacy.

Deprecazioni del piano a consumo flex

Nel piano a consumo flex le proprietà del sito e le impostazioni dell'applicazione sono deprecate e non devono essere usate durante la creazione di risorse dell'app per le funzioni:

Impostazione/proprietà Motivo
ENABLE_ORYX_BUILD Sostituito dal parametro remoteBuild durante la distribuzione nel piano a consumo Flex
FUNCTIONS_EXTENSION_VERSION L'impostazione dell'app viene impostata dal back-end. È possibile ignorare il valore ~1.
FUNCTIONS_WORKER_RUNTIME Sostituito da name in properties.functionAppConfig.runtime
FUNCTIONS_WORKER_RUNTIME_VERSION Sostituito da version in properties.functionAppConfig.runtime
FUNCTIONS_MAX_HTTP_CONCURRENCY Sostituita dalla sezione relativa ai trigger di scalabilità e concorrenza
FUNCTIONS_WORKER_PROCESS_COUNT Impostazione non valida
FUNCTIONS_WORKER_DYNAMIC_CONCURRENCY_ENABLED Impostazione non valida
SCM_DO_BUILD_DURING_DEPLOYMENT Sostituito dal parametro remoteBuild durante la distribuzione nel piano a consumo Flex
WEBSITE_CONTENTAZUREFILECONNECTIONSTRING Sostituita dalla sezione relativa alla distribuzione di functionAppConfig
WEBSITE_CONTENTOVERVNET Non usato per la rete nel piano a consumo Flex
WEBSITE_CONTENTSHARE Sostituita dalla sezione relativa alla distribuzione di functionAppConfig
WEBSITE_DNS_SERVER IL DNS viene ereditato dalla rete virtuale integrata in Flex
WEBSITE_NODE_DEFAULT_VERSION Sostituito da version in properties.functionAppConfig.runtime
WEBSITE_RUN_FROM_PACKAGE Non usato per le distribuzioni nel piano a consumo Flex
WEBSITE_SKIP_CONTENTSHARE_VALIDATION La condivisione di contenuti non viene usata nel piano a consumo Flex
WEBSITE_VNET_ROUTE_ALL Non usato per la rete nel piano a consumo Flex
properties.alwaysOn Non valido
properties.containerSize Rinominato in instanceMemoryMB
properties.ftpsState FTPS non supportato
properties.isReserved Non valido
properties.IsXenon Non valido
properties.javaVersion Sostituito da version in properties.functionAppConfig.runtime
properties.LinuxFxVersion Sostituito da properties.functionAppConfig.runtime
properties.netFrameworkVersion Sostituito da version in properties.functionAppConfig.runtime
properties.powerShellVersion Sostituito da version in properties.functionAppConfig.runtime
properties.siteConfig.functionAppScaleLimit Rinominato in maximumInstanceCount
properties.siteConfig.preWarmedInstanceCount Rinominato in alwaysReadyInstances
properties.use32BitWorkerProcess 32 bit non supportato
properties.vnetBackupRestoreEnabled Non usato per la rete nel piano a consumo Flex
properties.vnetContentShareEnabled Non usato per la rete nel piano a consumo Flex
properties.vnetImagePullEnabled Non usato per la rete nel piano a consumo Flex
properties.vnetRouteAllEnabled Non usato per la rete nel piano a consumo Flex
properties.windowsFxVersion Non valido

Passaggi successivi

Altre informazioni su come aggiornare le impostazioni dell'app

Vedere le impostazioni di configurazione nel file di host.json

Vedere altre impostazioni app per le app del servizio app