Språk som stöds i Azure Functions
Den här artikeln beskriver de supportnivåer som erbjuds för språk som du kan använda med Azure Functions. Den beskriver också strategier för att skapa funktioner med språk som inte stöds inbyggt.
Supportnivåer
Det finns två supportnivåer:
- Allmänt tillgänglig (GA) – Fullständigt stöd och godkänt för produktionsanvändning.
- Förhandsversion – stöds inte ännu, men förväntas nå GA-status i framtiden.
Språk efter körningsversion
Flera versioner av Azure Functions är tillgängliga. I följande tabell visas vilka språk som stöds i varje körningsversion.
| Språk | 1.x | 2.x | 3.x | 4.x |
|---|---|---|---|---|
| C# | GA (.NET Framework 4.8) | GA (.NET Core 2.11) | GA (.NET Core 3.1) GA (.NET 5.0) |
GA (.NET 6.0) |
| JavaScript | GA (Node.js 6) | GA (Node.js 10 & 8) | GA (Node.js 14, 12, & 10) | GA (Node.js 14) Förhandsversion (Node.js 16) |
| F# | GA (.NET Framework 4.8) | GA (.NET Core 2.11) | GA (.NET Core 3.1) | GA (.NET 6.0) |
| Java | Ej tillämpligt | GA (Java 8) | GA (Java 11 & 8) | GA (Java 11 & 8) |
| PowerShell | Ej tillämpligt | GA (PowerShell Core 6) | GA (PowerShell 7.0 & Core 6) | GA (PowerShell 7.0) |
| Python | Ej tillämpligt | GA (Python 3.7 & 3.6) | GA (Python 3.9, 3.8, 3.7, & 3.6) | GA (Python 3.9, 3.8) |
| TypeScript2 | Ej tillämpligt | Allmän tillgänglighet (GA) | Allmän tillgänglighet (GA) | Allmän tillgänglighet (GA) |
1 .NET-klassbiblioteksappar som är riktade till körningsversion 2.x körs på .NET Core 3.1 i kompatibilitetsläget för .NET Core 2.x. Mer information finns i Functions v2.x-överväganden.
2 Stöds via transpilering till JavaScript.
Mer information om språkversioner som stöds finns i artikeln om språkspecifika utvecklarguider.
Information om planerade ändringar av språkstöd finns i Azure-översikten.
Information om språkstöd
Följande tabell visar vilka språk som stöds av Functions kan köras på Linux eller Windows. Det anger också om ditt språk stöder redigering i Azure Portal. Språket baseras på det körningsstackalternativ som du väljer när du skapar funktionsappen i Azure Portal. Det här är samma som --worker-runtime alternativet när du använder kommandot i func init Azure Functions Core Tools.
| Språk | Körningsstack | Linux | Windows | Redigering i portalen1 |
|---|---|---|---|---|
| C#-klassbibliotek2 | .NET | ✓ | ✓ | |
| C#-skript | .NET | ✓ | ✓ | ✓ |
| JavaScript | Node.js | ✓ | ✓ | ✓ |
| Python | Python | ✓ | ||
| Java | Java | ✓ | ✓ | |
| PowerShell | PowerShell Core | ✓ | ✓ | |
| TypeScript | Node.js | ✓ | ✓ | |
| Go/Så här gör du/annat | Anpassade hanterare | ✓ | ✓ |
1 Vid körning i Linux stöds redigering i portalen endast i en dedikerad plan (App Service).
2 I portalen kan du för närvarande inte skapa funktionsappar som körs på .NET 5.0. Mer information finns i Utveckla och publicera .NET 5-funktioner med hjälp av Azure Functions.
Mer information finns i Stöd för operativsystem/körning.
När redigering i portalen inte är tillgängligt måste du i stället utveckla dina funktioner lokalt.
Stöd för språk major version
Azure Functions ger en garanti för stöd för de större versionerna av de programmeringsspråk som stöds. För de flesta språk finns det mindre versioner eller korrigeringsversioner som släpps för att uppdatera en huvudversion som stöds. Exempel på mindre versioner eller korrigeringsversioner är till exempel Python 3.9.1 och Node 14.17. När nya mindre versioner av språk som stöds blir tillgängliga uppgraderas de mindre versioner som används av dina functions-appar automatiskt till dessa nyare mindre versioner eller korrigeringsversioner.
Anteckning
Eftersom Azure Functions kan ta bort stödet för äldre mindre versioner när som helst efter att en ny delversion är tillgänglig, bör du inte fästa funktionsapparna på en specifik delversion/korrigeringsversion av ett programmeringsspråk.
Anpassade hanterare
Anpassade hanterare är lätta webbservrar som tar emot händelser från Azure Functions värden. Alla språk som stöder HTTP-primitiver kan implementera en anpassad hanterare. Det innebär att anpassade hanterare kan användas för att skapa funktioner på språk som inte stöds officiellt. Mer information finns i Azure Functions anpassade hanterare.
Språk utökningsbarhet
Från och med version 2.x är körningen utformad för att erbjuda språk utökningsbarhet. JavaScript- och Java-språken i 2.x-körningen har skapats med den här utökningsbarheten.
Nästa steg
Mer information om hur du utvecklar funktioner på språk som stöds finns i följande resurser: