Condividi tramite


Confrontare le versioni di runtime di Funzioni di Azure

Funzioni di Azure supporta attualmente due versioni dell'host di runtime. La tabella seguente illustra in dettaglio le versioni di runtime attualmente supportate, il livello di supporto e quando usarle:

Versione Livello di supporto Descrizione
4.x GA Versione di runtime consigliata per le funzioni in tutti i linguaggi. Vedere Versioni della lingua supportate.
1.x GA* Supportato solo per le app C# che devono usare .NET Framework. Questa versione è in modalità di manutenzione, con miglioramenti forniti solo nelle versioni successive. Il supporto termina per la versione 1.x il 14 settembre 2026.Eseguire la migrazione delle app alla versione 4.x. Per altre informazioni, vedere Versioni del linguaggio supportate.

* Il supporto termina il 14 settembre 2026. Per altre informazioni, vedere l'annuncio del supporto della versione 1.x.

Funzioni di Azure attualmente supporta solo la versione 4.x dell'host di runtime.

Importante

Le versioni 2.x e 3.x del runtime di Funzioni di Azure non sono più supportate. Per altre informazioni, vedere Versioni ritirata.

Migrare le applicazioni da Funzioni di Azure la versione 3.x alla versione 4.x.

Livelli di supporto

Esistono due livelli di supporto:

  • Disponibile a livello generale - Il linguaggio è completamente supportato e approvato per l'uso in produzione.
  • Anteprima - Il linguaggio non è ancora supportato ma si prevede che in futuro diventi disponibile a livello generale.

Languages

Tutte le funzioni in un'app per le funzioni devono condividere lo stesso linguaggio. Scegli la lingua delle funzioni nella tua applicazione delle funzioni quando crei l'app. Il linguaggio dell'app per le funzioni viene mantenuto nell'impostazione FUNCTIONS_WORKER_RUNTIME e non può essere modificato quando sono presenti funzioni esistenti.

Assicurarsi di selezionare il linguaggio di sviluppo preferito nella parte superiore dell'articolo.

La tabella seguente illustra le versioni di .NET supportate da Funzioni di Azure.

La versione supportata di .NET dipende sia dalla versione del runtime di Funzioni che dal modello di esecuzione selezionato.

Il codice dell'app per le funzioni viene eseguito in un processo di lavoro .NET separato. Usare con versioni supportate di .NET e .NET Framework. Per altre informazioni, vedere Guide per l'esecuzione di Funzioni di Azure C# nel modello di lavoro isolato.

Versione supportata Livello di supporto Data di fine del supporto prevista
.NET 10 GA 14 novembre 2028
.NET 9 GA 10 novembre 20261
.NET 8 GA 10 novembre 2026
.NET Framework 4.8.1 GA Consultare .NET Framework Support Policy

1 .NET 9 in precedenza aveva una data di fine del supporto prevista il 12 maggio 2026. Durante il periodo di supporto di .NET 9, il team .NET ha esteso il supporto per le versioni STS a 24 mesi, a partire da .NET 9. Per altre informazioni, vedere il post di blog.

Annotazioni

.NET 9 è l'ultima versione di .NET supportata per le app del piano a consumo Linux. Le versioni .NET più recenti non vengono aggiunte al consumo di Linux. Per ulteriori informazioni, vedere Migrare le app del piano Consumption al piano Flex Consumption.

.NET 6 ha raggiunto la fine del supporto ufficiale November 12, 2024.

.NET 7 ha raggiunto la fine del supporto ufficiale il 14 maggio 2024.

Per altre informazioni, vedere Guide per l'esecuzione di Funzioni di Azure C# nel modello di lavoro isolato.

La tabella seguente illustra le versioni della lingua supportate per le app per le funzioni di Java:

Versione supportata Livello di supporto Ultima versione supportata
Java 25 Preview In sospeso*
Java 21 GA Vedere Roadmap di rilascio e manutenzione
Java 17 GA Vedere Roadmap di rilascio e manutenzione
Java 11 GA Vedere Roadmap di rilascio e manutenzione
Java 8 GA Consulta la pagina di supporto di Temurin

* La data di fine del supporto per Java 25 viene determinata quando viene dichiarata la disponibilità generale .

Annotazioni

Java 21 è l'ultima versione di Java supportata per le app del piano a consumo Linux. Le versioni Java più recenti non vengono aggiunte al consumo di Linux. Per ulteriori informazioni, vedere Migrare le app del piano Consumption al piano Flex Consumption.

Per altre informazioni sullo sviluppo e l'esecuzione di app per le funzioni Java, vedere Funzioni di Azure Java Developer Guide.

La tabella seguente illustra le versioni della lingua supportate per le app per le funzioni di Node.js:

Versione supportata Livello di supporto Data di fine del supporto prevista
Node.js 24 Preview 30 aprile 2028
Node.js 22 GA 30 aprile 2027
Node.js 20 GA 30 aprile 2026

TypeScript è supportato tramite compilazione da sorgente a sorgente di JavaScript. Per altre informazioni, vedere Funzioni di Azure Node.js developer guide.

Annotazioni

Node.js 22 è l'ultima versione di Node.js supportata per le app del piano a consumo Linux. Le versioni più recenti di Node.js non vengono aggiunte al piano di consumo di Linux. Per ulteriori informazioni, vedere Migrare le app del piano Consumption al piano Flex Consumption.

La tabella seguente illustra la versione del linguaggio supportata per le app per le funzioni di PowerShell:

Versione supportata Livello di supporto Data di fine del supporto prevista
PowerShell 7.4 GA 10 novembre 2026

Annotazioni

PowerShell 7.4 è l'ultima versione di PowerShell supportata per le app del piano a consumo Linux. Le versioni più recenti di PowerShell non vengono aggiunte al consumo di Linux. Per ulteriori informazioni, vedere Migrare le app del piano Consumption al piano Flex Consumption.

Per altre informazioni, vedere Funzioni di Azure Guida per sviluppatori di PowerShell.

La tabella seguente illustra le versioni della lingua supportate per Python app per le funzioni:

Versione supportata Livello di supporto Data di fine del supporto prevista
Python 3.142 Preview In sospeso1
Python 3.13 GA Ottobre 2029
Python 3.12 GA Ottobre 2028
Python 3.11 GA Ottobre 2021
Python 3.10 GA Ottobre 2026

1 La data di fine del supporto per Python 3.14 viene determinata quando viene dichiarata la disponibilità generale. 2 Supporto della compilazione remota per Python 3.14 non è ancora disponibile quando viene eseguito in un piano a consumo flessibile.

Annotazioni

Python 3.12 è l'ultima versione Python supportata per le app del piano a consumo Linux. Le versioni Python più recenti non vengono aggiunte al consumo di Linux. Per ulteriori informazioni, vedere Migrare le app del piano Consumption al piano Flex Consumption.

Per altre informazioni, vedere Funzioni di Azure Python developer guide.

Per informazioni sulle modifiche pianificate al supporto linguistico, vedere gli aggiornamenti della roadmap Azure.

Per informazioni sulle versioni linguistiche delle versioni del runtime di Funzioni supportate in precedenza, vedere Versioni di runtime ritirate.

Esecuzione in una versione specifica

L'impostazione dell'applicazione FUNCTIONS_EXTENSION_VERSION determina la versione del runtime di Funzioni che le app pubblicate usano in Azure. In alcuni casi e per determinate lingue, è possibile applicare altre impostazioni.

Per impostazione predefinita, le app per le funzioni create nel portale di Azure, dal interfaccia della riga di comando di Azure o dagli strumenti di Visual Studio sono impostate sulla versione 4.x. Se necessario, è possibile modificare questa versione. È possibile effettuare il downgrade della versione di runtime alla versione 1.x solo dopo aver creato l'app per le funzioni, ma prima di aggiungere qualsiasi funzione. È possibile eseguire l'aggiornamento a una versione principale successiva anche con le app con funzioni esistenti.

Eseguire la migrazione delle applicazioni di funzioni esistenti

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.

Modificare la versione delle app in Azure

Vengono usati i valori di versione di runtime principali seguenti:

valore Destinazione del runtime
~4 4.x
~1 1.x

Importante

Non modificare arbitrariamente questa impostazione dell'app, perché potrebbero essere necessarie altre modifiche alle impostazioni dell'app e alle modifiche apportate al codice della funzione. Per le app per le funzioni esistenti, seguire le istruzioni di migrazione.

Fissare a una versione secondaria specifica

Per risolvere i problemi che l'app per le funzioni potrebbe avere quando è in esecuzione nella versione principale più recente, è necessario aggiungere temporaneamente l'app a una versione secondaria specifica. L'aggiunta offre il tempo necessario per eseguire correttamente l'app nella versione principale più recente. Il modo in cui si aggiunge a una versione secondaria è diverso tra Windows e Linux. Per ulteriori informazioni, vedere Come indirizzare le versioni del runtime di Funzioni di Azure.

Le versioni secondarie meno recenti vengono rimosse periodicamente da Funzioni. Per le ultime notizie sulle versioni di Funzioni di Azure, inclusa la rimozione di specifiche versioni secondarie meno recenti, seguire gli annunci di Servizio app di Azure.

Versioni minime delle estensioni

Tecnicamente non esiste una correlazione tra le versioni dell'estensione di binding e la versione del runtime di Funzioni. Tuttavia, a partire dalla versione 4.x, il runtime di Funzioni applica una versione minima per tutte le estensioni di trigger e binding.

Se viene visualizzato un avviso relativo a un pacchetto che non soddisfa una versione minima richiesta, è consigliabile aggiornare il pacchetto NuGet alla versione minima come si farebbe normalmente. Trovare i requisiti di versione minimi per le estensioni usate in Funzioni v4.x in il file di configurazione collegato.

Per lo script C#, aggiornare il riferimento al bundle di estensione nel host.json:

{
    "version": "2.0",
    "extensionBundle": {
        "id": "Microsoft.Azure.Functions.ExtensionBundle",
        "version": "[4.0.0, 5.0.0)"
    }
}

Tecnicamente non esiste una correlazione tra le versioni del bundle di estensione e la versione del runtime di Funzioni. Tuttavia, a partire dalla versione 4.x, il runtime di Funzioni applica una versione minima per i bundle di estensioni.

Se viene visualizzato un avviso relativo alla versione del bundle di estensione che non soddisfa una versione minima richiesta, aggiornare il riferimento al bundle di estensione esistente nel host.json come indicato di seguito:

{
    "version": "2.0",
    "extensionBundle": {
        "id": "Microsoft.Azure.Functions.ExtensionBundle",
        "version": "[4.0.0, 5.0.0)"
    }
}

Per altre informazioni sui bundle di estensioni, vedere Bundle di estensioni.

Versioni ritirate

Queste versioni del runtime di Funzioni hanno raggiunto la fine del supporto esteso il 13 dicembre 2022.

Versione Livello di supporto corrente Livello di supporto precedente
3.x Non più supportato. GA
2.x Non più supportato. GA

Eseguire la migrazione delle app alla versione 4.x appena possibile per ottenere il supporto completo. Per un set completo di istruzioni di migrazione specifiche della lingua, vedere Migrate apps to Funzioni di Azure version 4.x.

Le app che usano le versioni 2.x e 3.x possono comunque essere create e distribuite dalla pipeline DevOps CI/CD e tutte le app esistenti continuano a essere eseguite senza modifiche di rilievo. Tuttavia, le app non sono idonee per le nuove funzionalità, le patch di sicurezza e le ottimizzazioni delle prestazioni. È possibile ottenere il supporto del servizio correlato solo dopo l'aggiornamento delle app alla versione 4.x.

Le versioni 2.x e 3.x non sono più supportate perché .NET Core 3.1, una dipendenza principale, ha raggiunto la fine del supporto. Questo requisito influisce su tutti i languages supportati da Funzioni di Azure.

Versioni dell'applicazione sviluppate in locale

Apportare gli aggiornamenti seguenti alle app per le funzioni per modificare localmente le versioni di destinazione.

Visual Studio versioni di runtime

In Visual Studio selezionare la versione di runtime quando si crea un progetto. Funzioni di Azure strumenti per Visual Studio supporta le due versioni di runtime principali. Durante il debugging e la pubblicazione viene usata la versione corretta in base alle impostazioni del progetto. Le impostazioni della versione vengono definite nel file con estensione csproj nelle proprietà seguenti:

<TargetFramework>net8.0</TargetFramework>
<AzureFunctionsVersion>v4</AzureFunctionsVersion>

Se si usa il modello di lavoro isolato, è possibile scegliere net9.0, net8.0 o net48 come framework di destinazione. È anche possibile scegliere di usare il supporto dell'anteprima per net10.0. Se si usa il modello in-process, è possibile scegliere net8.0 o net6.0 ed è necessario includere l'estensione Microsoft.NET.Sdk.Functions impostata su almeno 4.4.0. .NET 10 non è supportato dal modello in-process. Se si usa il modello in-process e si vuole usare .NET 10, migrate l'app al modello di lavoro isolato.

.NET 6 era supportato in precedenza nel modello di lavoro isolato e nel modello in-process, ma è giunto alla fine del supporto ufficiale il 12 novembre 2024.

.NET 7 è stato precedentemente supportato nel modello di lavoro isolato, ma ha raggiunto la fine del supporto ufficiale il 14 maggio 2024.

Visual Studio Code e Funzioni di Azure Core Tools

Funzioni di Azure Core Tools viene usato per lo sviluppo da riga di comando e anche dall'estensione Funzioni di Azure per Visual Studio Code. Per altre informazioni, vedere Installare Funzioni di Azure Core Tools.

Per lo sviluppo di Visual Studio Code, potrebbe anche essere necessario aggiornare l'impostazione utente per l'azureFunctions.projectRuntime in modo che corrisponda alla versione degli strumenti installati. Questa impostazione aggiorna anche i modelli e i linguaggi usati durante la creazione di un'app per le funzioni.