Linguaggi supportati in Funzioni di Azure
Questo articolo illustra i livelli di supporto offerti per i linguaggi disponibili in Funzioni di Azure. Vengono inoltre descritte le strategie per la creazione di funzioni che usano linguaggi non supportati in modo nativo.
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.
Linguaggi per versione di runtime
La tabella seguente illustra le versioni di .NET supportate da Funzioni di Azure. Selezionare il linguaggio di sviluppo preferito nella parte superiore dell'articolo.
La versione supportata di .NET dipende sia dalla versione del runtime di Funzioni che dal modello di esecuzione scelto:
Il codice della funzione viene eseguito in un processo di lavoro .NET separato. Usare con le versioni supportate di .NET e .NET Framework. Per altre informazioni, vedere Sviluppare funzioni di processo di lavoro isolato .NET.
Versione supportata | Livello di supporto | Data EOL della community prevista |
---|---|---|
.NET 9 | Anteprima | Vedere i criteri |
.NET 8 | Disponibilità generale | 10 novembre 2026 |
.NET 6 | Disponibilità generale | 12 novembre 2024 |
.NET Framework 4.8.1 | Disponibilità generale | Vedere i criteri |
.NET 7 è stato precedentemente supportato nel modello di lavoro isolato, ma ha raggiunto la fine del supporto ufficiale il 14 maggio 2024.
Per altre informazioni, vedere Guida per l'esecuzione di Funzioni di Azure C# in un processo di lavoro isolato.
La tabella seguente illustra le versioni del linguaggio supportate per le funzioni Java. Selezionare il linguaggio di sviluppo preferito nella parte superiore dell'articolo.
Versione supportata | Livello di supporto | Data EOL della community prevista |
---|---|---|
Java 21 (solo Linux) | Anteprima | 2028 settembre 2021 |
Java 17 | Disponibilità generale | Settembre 2027 |
Java 11 | Disponibilità generale | Settembre 2027 |
Java 8 | Disponibilità generale | 30 novembre 2026 |
Per altre informazioni, vedere la guida per sviluppatori Java per funzioni di Azure.
La tabella seguente illustra le versioni del linguaggio supportate per le funzioni di Node.js. Selezionare il linguaggio di sviluppo preferito nella parte superiore dell'articolo.
Versione supportata | Livello di supporto | Data EOL della community prevista |
---|---|---|
Node.js 22 | Anteprima | 30 aprile 2027 |
Node.js 20 | Disponibilità generale | 30 aprile 2026 |
Node.js 18 | Disponibilità generale | 30 aprile 2025 |
TypeScript è supportato tramite compilazione da sorgente a sorgente di JavaScript. Per altre informazioni, vedere la guida per sviluppatori di Funzioni di Azure Node.js.
La tabella seguente illustra la versione del linguaggio supportata per le funzioni di PowerShell. Selezionare il linguaggio di sviluppo preferito nella parte superiore dell'articolo.
Versione supportata | Livello di supporto | Data EOL della community prevista |
---|---|---|
PowerShell 7.4 | Disponibilità generale | 10 novembre 2026 |
PowerShell 7.2 | Disponibilità generale | venerdì 8 novembre 2024 |
Per altre informazioni, vedere Guida per sviluppatori di PowerShell per Funzioni di Azure.
La tabella seguente illustra le versioni del linguaggio supportate per le funzioni Python. Selezionare il linguaggio di sviluppo preferito nella parte superiore dell'articolo.
Versione supportata | Livello di supporto | Data EOL della community prevista |
---|---|---|
Python 3.11 | Disponibilità generale | Ottobre 2021 |
Python 3.10 | Disponibilità generale | Ottobre 2026 |
Python 3.9 | Disponibilità generale | Ottobre 2025 |
Python 3.8 | Disponibilità generale | Ottobre 2024 |
Per altre informazioni, vedere Guida per sviluppatori Python per Funzioni di Azure.
Per informazioni sulle modifiche previste per il supporto dei linguaggi di programmazione, vedere Roadmap per Azure.
Dettagli del supporto dei linguaggi
La tabella seguente illustra i linguaggi supportati da Funzioni che possono essere eseguiti in Linux o Windows. Indica anche se la lingua supporta la modifica nel portale di Azure. Il linguaggio si basa sull'opzione Stack di runtime che è stata scelta durante la creazione dell'app per le funzioni nel portale di Azure. Ciò equivale all'opzione --worker-runtime
quando si usa il comando func init
in Azure Functions Core Tools.
Lingua | Stack di runtime | Linux | Windows | Modifica del portale |
---|---|---|---|---|
C# (modello di lavoro isolato) | .NET | ✓ | ✓ | |
C# (modello in-process) | .NET | ✓ | ✓ | |
Script C# | .NET | ✓ | ✓ | ✓ |
JavaScript | Node.js | ✓ | ✓ | ✓ |
Python | Python | ✓ | X | ✓ |
Java | Java | ✓ | ✓ | |
PowerShell | PowerShell Core | ✓ | ✓ | ✓ |
TypeScript | Node.js | ✓ | ✓ | |
Go/Rust/altri | Gestori personalizzati | ✓ | ✓ |
Per altre informazioni sul supporto del sistema operativo e del linguaggio, vedere Supporto del sistema operativo/runtime.
Quando la modifica nel portale non è disponibile, occorre sviluppare le funzioni in locale.
Supporto della versione principale del linguaggio
Funzioni di Azure offre una garanzia di supporto per le versioni principali dei linguaggi di programmazione supportati. Per la maggior parte delle lingue, sono disponibili versioni secondarie o patch rilasciate per aggiornare una versione principale supportata. Esempi di versioni secondarie o patch includono Python 3.9.1 e Node 14.17. Quando diventano disponibili nuove versioni secondarie dei linguaggi supportati, le versioni secondarie usate dalle app per le funzioni vengono aggiornate automaticamente alle versioni secondarie o patch più recenti.
Nota
Poiché Funzioni di Azure può rimuovere il supporto delle versioni secondarie meno recenti in qualsiasi momento se è disponibile una nuova versione secondaria, non è consigliabile aggiungere le app per le funzioni a una versione secondaria/patch specifica di un linguaggio di programmazione.
Gestori personalizzati
I gestori personalizzati sono server Web leggeri che ricevono eventi dall'host di Funzioni di Azure. Qualsiasi linguaggio che supporta primitive HTTP può implementare un gestore personalizzato. Ciò significa che i gestori personalizzati possono essere usati per creare funzioni nei linguaggi che non sono ufficialmente supportati. Per altre informazioni, vedere Gestori personalizzati di Funzioni di Azure.
Estendibilità di un linguaggio
A partire dalla versione 2.x, il runtime è progettato per offrire l'estendibilità di un linguaggio. I linguaggi JavaScript e Java nel runtime 2.x sono costruiti con questa estendibilità.
Supporto driver ODBC
Questa tabella indica il supporto del driver ODBC per le funzioni Python:
Versione driver | Versione di Python |
---|---|
Driver ODBC 18 | ≥ Python 3.11 |
Driver ODBC 17 | ≤ Python 3.10 |