Översikt över Azure Functions-körningsversioner

Azure Functions stöder för närvarande två versioner av körningsvärden. I följande tabell beskrivs de körningsversioner som stöds för närvarande, deras supportnivå och när de ska användas:

Version Supportnivå beskrivning
4.x Allmän tillgänglighet Rekommenderad körningsversion för funktioner på alla språk.Kolla in språkversioner som stöds.
1.x GA (support upphör 14 september 2026) Stöds endast för C#-appar som måste använda .NET Framework. Den här versionen är i underhållsläge och förbättringar tillhandahålls enbart i senare versioner. Supporten upphör för version 1.x den 14 september 2026. Vi rekommenderar starkt att du migrerar dina appar till version 4.x, som stöder .NET Framework 4.8, .NET 6, .NET 7 och .NET 8.

Viktigt!

Från och med den 13 december 2022 har Functions-appar som körs på versionerna 2.x och 3.x av Azure Functions-körningen nått slutet av utökad support. Mer information finns i Tillbakadragna versioner.

Den här artikeln beskriver några av skillnaderna mellan versioner som stöds, hur du kan skapa varje version och hur du ändrar den version som funktionerna körs på.

Stödnivåer

Det finns två stödnivåer:

  • Allmänt tillgänglig (GA) – fullständigt stödd och godkänd för produktionsanvändning.
  • Förhandsversion – stöds inte ännu, men förväntas nå GA-status i framtiden.

Språk

Alla funktioner i en funktionsapp måste dela samma språk. Du väljer funktionsspråket i funktionsappen när du skapar appen. Funktionsappens språk underhålls i inställningen FUNCTIONS_WORKER_RUNTIME och kan inte ändras när det finns befintliga funktioner.

I följande tabell visas de .NET-versioner som stöds av Azure Functions. Välj önskat utvecklingsspråk överst i artikeln.

Vilken version av .NET som stöds beror på både din Functions-körningsversion och din valda körningsmodell:

Funktionskoden körs i en separat .NET-arbetsprocess. Använd med versioner av .NET och .NET Framework som stöds. Mer information finns i Utveckla .NET-isolerade arbetsprocessfunktioner.

Version som stöds Supportnivå Förväntat EOL-datum för communityn
.NET 8 Allmän tillgänglighet den 10 november 2026
.NET 7 Allmän tillgänglighet 14 maj 2024
.NET 6 Allmän tillgänglighet den 12 november 2024
.NET Framework 4.8 Allmän tillgänglighet Se princip

Mer information finns i Guide för att köra C# Azure Functions i en isolerad arbetsprocess.

I följande tabell visas de språkversioner som stöds för Java-funktioner. Välj önskat utvecklingsspråk överst i artikeln.

Version som stöds Supportnivå Förväntat EOL-datum för communityn
Java 21 (endast Linux) Förhandsgranskning September 2028
Java 17 Allmän tillgänglighet September 2027
Java 11 Allmän tillgänglighet September 2027
Java 8 Allmän tillgänglighet den 30 november 2026

Mer information finns i utvecklarguiden för Azure Functions Java.

I följande tabell visas de språkversioner som stöds för Node.js funktioner. Välj önskat utvecklingsspråk överst i artikeln.

Version som stöds Supportnivå Förväntat EOL-datum för communityn
Node.js 20 Allmän tillgänglighet den 30 april 2026
Node.js 18 Allmän tillgänglighet den 30 april 2025
Node.js 16 Allmän tillgänglighet den 11 september 2023*
Node.js 14 Allmän tillgänglighet den 30 april 2023*

*Stödet för Functions har förlängts till den 30 juni 2024.

TypeScript stöds genom att överlagrar till JavaScript. Mer information finns i utvecklarguiden för Azure Functions Node.js.

I följande tabell visas språkversionen som stöds för PowerShell-funktioner. Välj önskat utvecklingsspråk överst i artikeln.

Version som stöds Supportnivå Förväntat EOL-datum för communityn
PowerShell 7.2 Allmän tillgänglighet 8 november 2024

Mer information finns i utvecklarhandboken för Azure Functions PowerShell.

I följande tabell visas de språkversioner som stöds för Python-funktioner. Välj önskat utvecklingsspråk överst i artikeln.

Version som stöds Supportnivå Förväntat EOL-datum för communityn
Python 3.11 Allmän tillgänglighet Oktober 2027
Python 3.10 Allmän tillgänglighet Oktober 2026
Python 3.9 Allmän tillgänglighet Oktober 2025
Python 3.8 Allmän tillgänglighet Oktober 2024

Mer information finns i utvecklarhandboken för Azure Functions Python.

Information om planerade ändringar av språkstöd finns i Azure-produktvägledningen.

Information om språkversionerna av tidigare versioner av Functions-körningen finns i Tillbakadragna körningsversioner.

Kör på en specifik version

Den version av Functions-körningen som används av publicerade appar i Azure styrs av programinställningen FUNCTIONS_EXTENSION_VERSION . I vissa fall och för vissa språk kan andra inställningar gälla.

Som standard är funktionsappar som skapats i Azure-portalen, av Azure CLI eller från Visual Studio-verktyg inställda på version 4.x. Du kan ändra den här versionen om det behövs. Du kan bara nedgradera körningsversionen till 1.x när du har skapat funktionsappen, men innan du lägger till några funktioner. Uppdatering till en senare huvudversion tillåts även med appar som har befintliga funktioner.

Migrera befintliga funktionsappar

När appen har befintliga funktioner måste du vidta försiktighetsåtgärder innan du går över till en senare större körningsversion. I följande artiklar beskrivs icke-bakåtkompatibla ändringar mellan större versioner, inklusive språkspecifika icke-bakåtkompatibla ändringar. De ger dig också stegvisa instruktioner för en lyckad migrering av din befintliga funktionsapp.

Ändra version av appar i Azure

Följande viktiga körningsversionsvärden används:

Värde Körningsmål
~4 4.x
~1 1.x

Viktigt!

Ändra inte den här appinställningen godtyckligt eftersom andra appinställningar kan behöva ändras och ändras i funktionskoden. Följ migreringsanvisningarna för befintliga funktionsappar.

Fästa på en specifik delversion

För att lösa problem som din funktionsapp kan ha när den körs på den senaste huvudversionen måste du tillfälligt fästa appen på en viss delversion. Med fästning får du tid att få appen att köras korrekt på den senaste huvudversionen. Hur du fäster på en delversion skiljer sig mellan Windows och Linux. Mer information finns i Så här riktar du dig till Azure Functions-körningsversioner.

Äldre delversioner tas regelbundet bort från Functions. För de senaste nyheterna om Azure Functions-versioner, inklusive borttagning av specifika äldre mindre versioner, övervakar du Azure App Service-meddelanden.

Lägsta tilläggsversioner

Det finns tekniskt sett ingen korrelation mellan bindningstilläggsversioner och Functions-körningsversionen. Men från och med version 4.x framtvingar Functions-körningen en lägsta version för alla utlösar- och bindningstillägg.

Om du får en varning om att ett paket inte uppfyller en lägsta version som krävs bör du uppdatera NuGet-paketet till den lägsta versionen som vanligt. Minimikraven för version för tillägg som används i Functions v4.x finns i den länkade konfigurationsfilen.

För C#-skript uppdaterar du tilläggspaketreferensen i host.json enligt följande:

{
    "version": "2.0",
    "extensionBundle": {
        "id": "Microsoft.Azure.Functions.ExtensionBundle",
        "version": "[4.0.0, 5.0.0)"
    }
}

Det finns tekniskt sett ingen korrelation mellan tilläggspaketversioner och Functions-körningsversionen. Men från och med version 4.x tillämpar Functions-körningen en lägsta version för tilläggspaket.

Om du får en varning om att tilläggspaketversionen inte uppfyller en lägsta version som krävs uppdaterar du din befintliga tilläggspaketreferens i host.json enligt följande:

{
    "version": "2.0",
    "extensionBundle": {
        "id": "Microsoft.Azure.Functions.ExtensionBundle",
        "version": "[4.0.0, 5.0.0)"
    }
}

Mer information om tilläggspaket finns i Tilläggspaket.

Tillbakadragna versioner

Dessa versioner av Functions-körningen nådde slutet av utökad support den 13 december 2022.

Version Aktuell supportnivå Föregående supportnivå
3.x Out-of-support Allmän tillgänglighet
2.x Out-of-support Allmän tillgänglighet

Så snart som möjligt bör du migrera dina appar till version 4.x för att få fullständig support. En fullständig uppsättning språkspecifika migreringsinstruktioner finns i Migrera appar till Azure Functions version 4.x.

Appar som använder version 2.x och 3.x kan fortfarande skapas och distribueras från CI/CD DevOps-pipelinen, och alla befintliga appar fortsätter att köras utan icke-bakåtkompatibla ändringar. Dina appar är dock inte berättigade till nya funktioner, säkerhetskorrigeringar och prestandaoptimeringar. Du kan bara få stöd för relaterade tjänster när du har uppgraderat dina appar till version 4.x.

Supporten för version 2.x och 3.x upphör på grund av att stödet för .NET Core 3.1 upphör, vilket de hade som ett kärnberoende. Det här kravet påverkar alla språk som stöds av Azure Functions.

Lokalt utvecklade programversioner

Du kan göra följande uppdateringar för funktionsappar för att lokalt ändra målversionerna.

Visual Studio-körningsversioner

I Visual Studio väljer du körningsversionen när du skapar ett projekt. Azure Functions-verktyg för Visual Studio har stöd för de två större körningsversionerna. Rätt version används vid felsökning och publicering baserat på projektinställningar. Versionsinställningarna definieras i .csproj filen i följande egenskaper:

<TargetFramework>net8.0</TargetFramework>
<AzureFunctionsVersion>v4</AzureFunctionsVersion>

Du kan välja net8.0, net7.0, net6.0eller net48 som målramverk om du använder den isolerade arbetsmodellen. Om du använder den processbaserade modellen kan du bara välja net6.0, och du måste inkludera Microsoft.NET.Sdk.Functions tillägget inställt på minst 4.0.0.

Visual Studio Code och Azure Functions Core Tools

Azure Functions Core Tools används för kommandoradsutveckling och även av Azure Functions-tillägget för Visual Studio Code. Mer information finns i Installera Azure Functions Core Tools.

För Visual Studio Code-utveckling kan du också behöva uppdatera användarinställningen azureFunctions.projectRuntime för att matcha versionen av de installerade verktygen. Den här inställningen uppdaterar även de mallar och språk som används när funktionsappen skapas.

Bindningar

Från och med version 2.x använder körningen en ny utökningsmodell för bindning som erbjuder följande fördelar:

  • Stöd för bindningstillägg från tredje part.

  • Avkoppling av körning och bindningar. Den här ändringen gör att bindningstillägg kan versionshanteras och släppas oberoende av varandra. Du kan till exempel välja att uppgradera till en version av ett tillägg som förlitar sig på en nyare version av en underliggande SDK.

  • En lättare körningsmiljö, där endast de bindningar som används är kända och läses in av körningen.

Förutom HTTP- och timerutlösare måste alla bindningar uttryckligen läggas till i funktionsappprojektet eller registreras i portalen. Mer information finns i Registrera bindningstillägg.

I följande tabell visas vilka bindningar som stöds i varje körningsversion.

Den här tabellen visar bindningar som stöds i huvudversionerna av Azure Functions-körningen:

Typ 1.x1 2.x och högre2 Utlösare Indata Utdata
Blob Storage
Azure Cosmos DB
Azure-datautforskaren
Azure SQL
Dapr4
Event Grid
Event Hubs
HTTP & webhooks
IoT Hub
Kafka3
Mobile Apps
Notification Hubs
Queue Storage
Redis
RabbitMQ3
SendGrid
Service Bus
SignalR
Table Storage
Tidtagare
Twilio

1Supporten upphör för version 1.x av Azure Functions-körningen den 14 september 2026. Vi rekommenderar starkt att du migrerar dina appar till version 4.x för fullständig support.

2 Från och med version 2.x-körningen måste alla bindningar utom HTTP och Timer registreras. Se Registrera bindningstillägg.

3 Utlösare stöds inte i förbrukningsplanen. Kräver körningsdrivna utlösare.

4 Stöds endast i Kubernetes, IoT Edge och andra lägen med egen värd.

Varaktighet för tidsgräns för funktionsapp

Tidsgränsen för funktioner i en funktionsapp definieras av functionTimeout egenskapen i host.json-projektfilen. Den här egenskapen gäller specifikt för funktionskörningar. När utlösaren startar funktionskörningen måste funktionen returnera/svara inom tidsgränsen. Mer information finns i Förbättra Prestanda och tillförlitlighet för Azure Functions.

I följande tabell visas standardvärdena och maxvärdena (i minuter) för specifika planer:

Planera Standardvärde Maximalt1
Förbrukningsplan 5 10
Premium-plan 302 Obegränsad3
Dedikerad plan 302 Obegränsad3

1 Oavsett tidsgränsinställningen för funktionsappen är 230 sekunder den maximala tid som en HTTP-utlöst funktion kan ta för att svara på en begäran. Detta beror på den inaktiva tidsgränsen som är standard för Azure Load Balancer. För längre bearbetningstider bör du överväga att använda mönstret Durable Functions-asynkronisering eller skjuta upp det faktiska arbetet och returnera ett omedelbart svar.
2 Standardtimeouten för version 1.x av Functions-körningen är obegränsad.
3 Garanterat i upp till 60 minuter. Os- och körningskorrigeringar, sårbarhetskorrigeringar och skalning i beteenden kan fortfarande avbryta funktionskörningar så att du kan skriva robusta funktioner.

Nästa steg

Mer information finns i följande resurser: