Condividi tramite


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 8 Disponibilità generale 10 novembre 2026
.NET 6 Disponibilità generale 12 novembre 2024
.NET Framework 4.8 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 20 Disponibilità generale 30 aprile 2026
Node.js 18 Disponibilità generale 30 aprile 2025
Node.js 16 Disponibilità generale 11 settembre 2023*
Node.js 14 Disponibilità generale 30 aprile 2023*

*Supporto per funzioni estese fino al 30 giugno 2024.

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

Passaggi successivi