Linguaggi supportati in Funzioni di Azure

Questo articolo illustra i livelli di supporto offerti per la lingua preferita quando si usa 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 : non ancora supportato, ma previsto che raggiunga lo stato disponibile a livello generale in futuro.

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 7 Disponibilità generale 14 maggio 2024
.NET 6 Disponibilità generale 12 novembre 2024
.NET Framework 4.8 Disponibilità generale Vedere i criteri

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 Settembre 2028
Java 17 Disponibilità generale Settembre 2027
Java 11 Disponibilità generale Settembre 2027
Java 8 Disponibilità generale 30 novembre 2026

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

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 la transpiling in 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 Funzioni di Azure Guida per sviluppatori di PowerShell.

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 2027
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 Funzioni di Azure Guida per sviluppatori Python.

Per informazioni sulle modifiche previste per il supporto dei linguaggi di programmazione, vedere Roadmap per Azure.

Dettagli del supporto linguistico

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 scelta durante la creazione dell'app per le funzioni nella portale di Azure. Questa opzione equivale all'opzione --worker-runtime quando si usa il func init comando in Funzioni di Azure Core Tools.

Lingua Stack di runtime Linux Windows Modifica nel 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
Vai/Rust/altro 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, è invece necessario 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. Dopo aver reso disponibili nuove versioni secondarie delle lingue supportate, le versioni secondarie usate dalle app per le funzioni vengono aggiornate automaticamente a queste versioni secondarie o patch più recenti.

Nota

Poiché Funzioni di Azure può rimuovere il supporto delle versioni secondarie meno recenti in qualsiasi momento dopo che è 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 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 Funzioni di Azure gestori personalizzati.

Estendibilità di un linguaggio

A partire dalla versione 2.x, il runtime è progettato per offrire l'estendibilità del linguaggio. I linguaggi JavaScript e Java nel runtime 2.x sono costruiti con questa estendibilità.

Passaggi successivi