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: