Come specificare le versioni del runtime per Funzioni di Azure

L'app per le funzioni viene eseguita su una versione specifica del runtime di Funzioni di Azure. Per impostazione predefinita, le app per le funzioni vengono create nella versione 4.x più recente del runtime di Funzioni. Le app per le funzioni sono supportate solo quando vengono eseguite in una versione principale supportata. In questo articolo viene illustrato come configurare un'app per le funzioni in Azure da destinare o aggiungere a una versione specifica, quando richiesto.

Il modo in cui si usa una versione specifica dipende dal fatto che si esegua Windows o Linux. Questa versione dell'articolo supporta Windows. Scegliere il sistema operativo all’inizio dell'articolo.

Il modo in cui si usa una versione specifica dipende dal fatto che si esegua Windows o Linux. Questa versione dell'articolo supporta Linux. Scegliere il sistema operativo all’inizio dell'articolo.

Importante

Quando possibile, eseguire sempre le funzioni nella versione supportata più recente del runtime di Funzioni di Azure. È consigliabile aggiungere l'app a una versione specifica solo se viene richiesto di farlo, a causa di un problema con la versione più recente. Passare sempre alla versione di runtime più recente non appena le funzioni possono essere eseguite correttamente.

Durante lo sviluppo locale, la versione installata di Azure Functions Core Tools deve corrispondere alla versione di 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, è necessario 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, è consigliabile eseguire la migrazione dell'app alla versione 4.x

Quando l'app ha funzioni esistenti, è necessario adottare precauzioni prima di passare a una versione di runtime principale successiva. Gli articoli seguenti illustrano in dettaglio le modifiche di rilievo tra le versioni principali, incluse le modifiche di rilievo specifiche della lingua. Forniscono anche istruzioni dettagliate per una corretta migrazione dell'app per le funzioni esistente.

Per determinare la versione corrente del runtime, vedere Visualizzare la versione di runtime corrente.

Visualizzare la versione corrente del runtime

È possibile visualizzare la versione di 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 questi passaggi:

  1. Nel portale di Azure passare all'app per le funzioni.

  2. Espandere Impostazioni e quindi selezionare Configurazione.

  3. Nella scheda Impostazioni di runtime per le funzioni annotare la Versione runtime. In questo esempio, la versione è impostata su ~4.

    Screenshot che mostra come visualizzare la versione di runtime.

Aggiungere a una versione specifica

Funzioni di Azure consente di usare l'impostazione dell'app FUNCTIONS_EXTENSION_VERSION per impostare come destinazione la versione di runtime usata da 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 queste risultano disponibili. Gli aggiornamenti delle versioni secondarie vengono eseguiti automaticamente perché è improbabile che le nuove versioni secondarie introducano modifiche che interrompono le funzioni.

Le app Linux usano linuxFxVersion l'impostazione del sito 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 di runtime dello stack di linguaggio.

L'aggiunta a una versione di runtime specifica causa il riavvio dell'app per le funzioni.

Quando si indica una versione secondaria specifica (ad esempio 4.0.12345) in FUNCTIONS_EXTENSION_VERSION, l'app per le funzioni viene aggiunta a tale versione specifica del runtime fino a quando non si sceglie esplicitamente di tornare agli aggiornamenti automatici della versione. È consigliabile eseguire l’aggiunta solo a una versione secondaria specifica per il tempo necessario a risolvere eventuali problemi con l'app per le funzioni che impediscono di usare come destinazione la versione principale. Le versioni secondarie meno recenti vengono rimosse regolarmente dall'ambiente di produzione. Quando l'app per le funzioni viene aggiunta a una versione secondaria successivamente rimossa, l'app per le funzioni viene invece eseguita nella versione esistente più vicina anziché nella versione impostata in FUNCTIONS_EXTENSION_VERSION. Le rimozioni delle versioni secondarie vengono annunciate negli annunci del servizio app.

Nota

Quando si tenta di pubblicare da Visual Studio in un'app aggiunta a una versione secondaria specifica del runtime, una finestra di dialogo richiede di eseguire l'aggiornamento alla versione più recente o 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 aggiungere 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 questi passaggi:

  1. Nel portale di Azure passare all'app per le funzioni.

  2. Espandere Impostazioni e quindi selezionare Configurazione.

  3. Nella scheda Impostazioni di runtime per le funzioni annotare la Versione runtime. In questo esempio, la versione è impostata su ~4.

    Screenshot che mostra come visualizzare la versione di runtime.

  1. Per aggiungere l'app a una versione secondaria specifica, nel riquadro sinistro espandere Impostazioni e quindi selezionare Variabili di ambiente.

  2. Nella scheda Impostazioni app selezionare FUNCTIONS_EXTENSION_VERSION, impostare Valore sulla versione secondaria richiesta e quindi selezionare Applica.

  3. Selezionare Applica e quindi Conferma per applicare le modifiche e riavviare l'app.

L'app per le funzioni viene riavviata dopo aver apportato la modifica all'impostazione dell'applicazione.

Per aggiungere l'app per le funzioni a una versione di runtime specifica in Linux, impostare un URL dell'immagine di base specifico della versione nell'linuxFxVersionimpostazione del sito nel formato DOCKER|<PINNED_VERSION_IMAGE_URI>.

Importante

Le app per le funzioni aggiunte 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 la lingua e la versione, ad esempio Python|3.9. Per i valori validi, vedere l'linuxFxVersionarticolo di riferimento.

L'aggiunta a un runtime specifico non è attualmente supportata per le app per le funzioni Linux in esecuzione in un piano a consumo.

L'esempio seguente mostra il valore linuxFxVersion necessario per aggiungere un'app per le funzioni Node.js 16 a una versione di runtime specifica della versione 4.14.0.3:

DOCKER|mcr.microsoft.com/azure-functions/node:4.14.0.3-node16

Quando necessario, un professionista del supporto può fornire un URI di immagine di base valido per l'applicazione.

Per visualizzare e impostare linuxFxVersion, usare i comandi dell'interfaccia della riga di comando di Azure. Attualmente non è possibile impostare linuxFxVersion nel portale o usando Azure PowerShell:

  • Per visualizzare la versione di runtime corrente, usare il comando az functionapp config show:

    az functionapp config show --name <function_app> \
    --resource-group <my_resource_group> --query 'linuxFxVersion' -o tsv
    

    In 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 di linuxFxVersion.

  • Per aggiornare l'impostazione linuxFxVersion nell'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 Apri 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 l'esecuzione del comando az login per eseguire l'accesso.

L'app per le funzioni viene riavviata dopo aver apportato la modifica alla configurazione del sito.

Passaggi successivi