Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
L'app per le funzioni viene eseguita su una versione specifica del runtime di Funzioni di Azure. Per impostazione predefinita, si creano app per le funzioni nella versione 4.x più recente del runtime di Funzioni. Le app per le funzioni sono supportate solo quando eseguite in una versione principale supportata. Questo articolo spiega come configurare un'app per le funzioni in Azure per indirizzarla o fissarla a una versione specifica del runtime di Funzioni, quando necessario.
Considerazioni
Tenere presenti queste considerazioni quando si punta a una versione di runtime specifica:
- Il piano Flex Consumption viene eseguito solo nella versione 4.x del runtime. Poiché il piano Consumo Flessibile non supporta l'impostazione dell'app
FUNCTIONS_EXTENSION_VERSION, non è possibile impostare l'app per l'uso di una versione specifica del runtime durante l'esecuzione in questo piano. - Il modo in cui si usa una versione specifica dipende dal fatto che si esegua Windows o Linux.
- Questo articolo è specifico per Windows o Linux. Scegliere il sistema operativo all'inizio dell'articolo.
- Quando possibile, eseguire sempre l'app nella versione di runtime supportata più recente. Fissare l'app su una versione specifica solo se ciò è richiesto a causa di un problema con la versione più recente. Passare sempre alla versione del runtime più recente non appena è possibile eseguire correttamente le funzioni.
- Durante lo sviluppo locale, la versione installata di Azure Functions Core Tools deve corrispondere alla versione del runtime principale usata dall'app per le funzioni in Azure. Per altre informazioni, vedere Versioni di Core Tools.
Aggiornare la versione del runtime
Quando possibile, eseguire sempre le app per le funzioni nella versione supportata più recente del runtime di Funzioni di Azure. Se l'app per le funzioni è attualmente in esecuzione in una versione precedente del runtime, eseguire la migrazione dell'app alla versione 4.x.
Quando l'app include funzioni esistenti, è necessario adottare alcune precauzioni prima di passare a una versione principale successiva del runtime. Gli articoli seguenti illustrano in dettaglio le modifiche di rilievo tra le versioni principali, incluse quelle specifiche del linguaggio. Forniscono anche istruzioni dettagliate per una corretta migrazione dell'app per le funzioni esistente.
- Eseguire la migrazione dalla versione di runtime 3.x alla versione 4.x
- Eseguire la migrazione dalla versione di runtime 1.x alla versione 4.x
Per determinare la versione corrente del runtime, vedere Visualizzare la versione corrente del runtime.
Visualizzare la versione corrente del runtime
È possibile visualizzare la versione del runtime corrente dell'app per le funzioni in uno dei modi seguenti:
Per visualizzare e aggiornare la versione del runtime usata attualmente da un'app per le funzioni, seguire questa procedura:
Nel portale di Azure passare all'app per le funzioni.
Espandere Impostazioni e selezionare Configurazione.
Nella scheda Impostazioni di runtime della funzione osservare la Versione runtime. In questo esempio la versione è impostata su
~4.
Fissare a una versione specifica
Funzioni di Azure consente di usare l'impostazione dell'app FUNCTIONS_EXTENSION_VERSION per specificare la versione del runtime da utilizzare per una determinata app per le funzioni. Se si specifica solo la versione principale (~4), l'app per le funzioni viene aggiornata automaticamente alle nuove versioni secondarie del runtime non appena diventano disponibili. Gli aggiornamenti delle versioni secondarie sono automatici perché è improbabile che le nuove versioni secondarie introducano modifiche che interrompono le funzioni.
Le app Linux usano l'impostazione del sito linuxFxVersion insieme a FUNCTIONS_EXTENSION_VERSION per determinare l'immagine di base Linux corretta in cui eseguire le funzioni. Quando si crea una nuova app per le funzioni in Linux, il runtime sceglie automaticamente l'immagine di base corretta in base alla versione del runtime dello stack di linguaggio.
Il fissaggio a una versione del runtime specifica causa il riavvio dell'app per le funzioni.
Quando si specifica una versione secondaria specifica ( ad esempio 4.0.12345) in FUNCTIONS_EXTENSION_VERSION, si aggiunge l'app per le funzioni a tale versione specifica del runtime fino a quando non si sceglie esplicitamente di tornare agli aggiornamenti automatici della versione. Fissare a una versione secondaria specifica solo per il tempo necessario a risolvere eventuali problemi dell'app per le funzioni che impediscono di passare alla versione principale. Le versioni secondarie meno recenti vengono rimosse regolarmente dall'ambiente di produzione. Quando l'app per le funzioni è ancorata a una versione secondaria che viene successivamente rimossa, l'app per le funzioni viene eseguita sulla versione esistente più vicina anziché sulla versione impostata in FUNCTIONS_EXTENSION_VERSION.
Gli annunci di App Service annunciano la rimozione delle versioni minori.
Note
Quando si tenta di pubblicare da Visual Studio in un'app fissata a una versione secondaria specifica del runtime, una finestra di dialogo richiede di eseguire l'aggiornamento alla versione più recente o di annullare la pubblicazione. Per evitare questo controllo quando è necessario usare una versione secondaria specifica, aggiungere la proprietà <DisableFunctionExtensionVersionUpdate>true</DisableFunctionExtensionVersionUpdate> nel file .csproj.
Usare uno di questi metodi per fissare temporaneamente l'app a una versione specifica del runtime:
Per visualizzare e aggiornare la versione del runtime usata attualmente da un'app per le funzioni, seguire questa procedura:
Nel portale di Azure passare all'app per le funzioni.
Espandere Impostazioni e selezionare Configurazione.
Nella scheda Impostazioni di runtime della funzione osservare la Versione runtime. In questo esempio la versione è impostata su
~4.
Per fissare l'app a una versione secondaria specifica, nel riquadro sinistro espandere Impostazioni e selezionare Variabili di ambiente.
Nella scheda Impostazioni app selezionare FUNCTIONS_EXTENSION_VERSION, impostare Valore sulla versione secondaria richiesta, quindi selezionare Applica.
Selezionare Applica e quindi Conferma per applicare le modifiche e riavviare l'app.
L'app per le funzioni viene riavviata dopo che si apporta la modifica all'impostazione dell'applicazione.
Per fissare l'app per le funzioni a una versione del runtime specifica in Linux, impostare un URL dell'immagine di base specifico della versione nell'impostazione del sito linuxFxVersion nel formato DOCKER|<PINNED_VERSION_IMAGE_URI>.
Importante
Le app per le funzioni fissate in Linux non ricevono aggiornamenti regolari delle funzionalità di sicurezza e host. A meno che non si ricevano suggerimenti da un professionista del supporto, usare l'impostazione FUNCTIONS_EXTENSION_VERSION e un valore standard linuxFxVersion per il linguaggio e la versione, ad esempio Python|3.12. Per i valori validi, vedere l'articolo di riferimento linuxFxVersion.
Il fissaggio a un runtime specifico non è attualmente supportato per le app per le funzioni Linux in esecuzione in un piano a consumo.
L'esempio seguente mostra il valore linuxFxVersion necessario per fissare un'app per le funzioni Node.js 16 alla versione del runtime specifica 4.14.0.3:
DOCKER|mcr.microsoft.com/azure-functions/node:4.14.0.3-node16
Se necessario, un professionista del supporto può fornire un URI dell'immagine di base valido per l'applicazione.
Usare i comandi dell'interfaccia della riga di comando di Azure per visualizzare e impostare linuxFxVersion. Attualmente non è possibile impostare linuxFxVersion nel portale o usando Azure PowerShell:
Per visualizzare la versione del runtime corrente, usare il comando az functionapp config show:
az functionapp config show --name <function_app> \ --resource-group <my_resource_group> --query 'linuxFxVersion' -o tsvIn questo codice sostituire
<function_app>con il nome dell'app per le funzioni. Sostituire anche<my_resource_group>con il nome del gruppo di risorse per l'app per le funzioni. Viene restituito il valore corrente dilinuxFxVersion.Per aggiornare l'impostazione
linuxFxVersionnell'app per le funzioni, usare il comando az functionapp config set:az functionapp config set --name <FUNCTION_APP> \ --resource-group <RESOURCE_GROUP> \ --linux-fx-version <LINUX_FX_VERSION>Sostituire
<FUNCTION_APP>con il nome dell'app per le funzioni. Sostituire anche<RESOURCE_GROUP>con il nome del gruppo di risorse per l'app per le funzioni. Infine, sostituire<LINUX_FX_VERSION>con il valore di un'immagine specifica fornita da un professionista del supporto.
È possibile eseguire questi comandi da Azure Cloud Shell scegliendo Open Cloud Shell negli esempi di codice precedenti. È anche possibile usare l'interfaccia della riga di comando di Azure in locale per eseguire questo comando dopo aver eseguito az login per accedere.
L'app per le funzioni viene riavviata dopo che si apporta la modifica alla configurazione del sito.