Linguaggi supportati in Funzioni di Azure

Questo articolo illustra i livelli di supporto offerti per i linguaggi disponibili in Funzioni di Azure. Descrive anche le strategie per la creazione di funzioni usando linguaggi non supportati in modo nativo.

Livelli di supporto

Esistono due livelli di supporto:

  • Disponibile a livello generale - Il linguaggio è completamente supportato e approvato per l'uso in produzione.
  • Anteprima : non ancora supportata, ma prevista per raggiungere lo stato di disponibilità generale in futuro.

Linguaggi per versione di runtime

Sono disponibili diverse versioni del runtime di Funzioni di Azure. Nella tabella seguente sono indicati i linguaggi supportati in ogni versione del runtime.

Linguaggio 1.x 2.x 3.x 4.x
C# GA (.NET Framework 4.8) GA (.NET Core2.1 1) GA (.NET Core 3.1)
GA (.NET 6.0)
GA (.NET 7.0)
GA (.NET Framework 4.8)
JavaScript GA (Node.js 6) GA (Node.js 10 & 8) GA (Node.js 14, 12, & 10) GA (Node.js 14)
GA (Node.js 16)
Anteprima (Node.js 18)
F# GA (.NET Framework 4.8) GA (.NET Core2.1 1) GA (.NET Core 3.1) GA (.NET 6.0)
GA (.NET 7.0)
Java N/D GA (Java 8) GA (Java 11 & 8) GA (Java 11 & 8)
Anteprima (Java 17)
PowerShell N/D N/D GA (PowerShell 7.0) GA (PowerShell 7.0, 7.2)
Python N/D GA (Python 3.7) GA (Python 3.9, 3.8, 3.7) GA (Python 3.9, 3.8, 3.7)
TypeScript2 N/D GA GA GA

1 App della libreria di classi .NET destinate al runtime versione 2.x eseguite in .NET Core 3.1 in modalità di compatibilità .NET Core 2.x. Per altre informazioni, vedere Funzioni v2.x considerazioni.
2 Supportato tramite compilazione da sorgente a sorgente di JavaScript.

Per altre informazioni sulle versioni supportate dei linguaggi, vedere l'articolo della guida per sviluppatori del linguaggio specifico.
Per informazioni sulle modifiche previste per il supporto dei linguaggi di programmazione, vedere Roadmap per Azure.

Dettagli sul supporto linguistico

La tabella seguente illustra quali linguaggi supportati da Funzioni 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 nell'portale di Azure. Questa è la stessa --worker-runtime opzione quando si usa il func init comando in Funzioni di Azure Core Tools.

Linguaggio Stack di runtime Linux Windows Modifica nel portale
Libreria di classi C#1 .NET
Script C# .NET
JavaScript Node.js
Python Python
Java Java
PowerShell PowerShell Core
TypeScript Node.js
Vai/Rust/altro Gestori personalizzati

1 Nel portale non è attualmente possibile creare app per le funzioni eseguite in .NET 7.0. Per altre informazioni, vedere Guida per l'esecuzione di Funzioni di Azure C# in un processo di lavoro isolato.

Per altre informazioni sul sistema operativo e sul supporto 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 precedenti in qualsiasi momento dopo la disponibilità di 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 le 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

Per altre informazioni su come sviluppare funzioni nei linguaggi supportati, vedere le risorse seguenti: