Ö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 8 och .NET 9. |
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 9 | Allmän tillgänglighet | 12 maj 2026 |
.NET 8 | Allmän tillgänglighet | den 10 november 2026 |
.NET Framework 4.8.1 | Allmän tillgänglighet | Se princip |
.NET 6 hade tidigare stöd för den isolerade arbetsmodellen men nådde slutet av det officiella stödet den 12 november 2024.
.NET 7 hade tidigare stöd för den isolerade arbetsmodellen men nådde slutet av det officiella stödet den 14 maj 2024.
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örhandsversion | 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 22 | Förhandsversion | den 30 april 2027 |
Node.js 20 | Allmän tillgänglighet | 30 april 2026 |
Node.js 18 | Allmän tillgänglighet | 30 april 2025 |
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.4 | Allmän tillgänglighet | 10 november 2026 |
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 Portal, 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
Viktigt!
Supporten 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.
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>
Om du använder den isolerade arbetsmodellen kan du välja , net8.0
, net6.0
eller net48
som målramverk. Du kan också välja att använda förhandsversionsstöd för net9.0
. Om du använder den processbaserade modellen kan du välja net8.0
eller net6.0
, och du måste inkludera Microsoft.NET.Sdk.Functions
tillägget inställt på minst 4.4.0
.
.NET 7 hade tidigare stöd för den isolerade arbetsmodellen men nådde slutet av det officiella stödet den 14 maj 2024.
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 | ✔ | ✔ | ✔ |
Anteckningar:
- Supporten 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.
- Från och med version 2.x-körningen måste alla bindningar utom HTTP och Timer registreras. Se Registrera bindningstillägg.
- Utlösare stöds inte i förbrukningsplanen. Kräver körningsdrivna utlösare.
- 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. För att undvika timeouter är det viktigt att skriva robusta funktioner. 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 |
---|---|---|
Flex-förbrukningsplan | 30 | Obundna2 |
Premium-plan | 304 | Obundna2 |
Dedikerad plan | 304 | Obundna3 |
Container Apps | 30 | Obundna5 |
Förbrukningsplan | 5 | 10 |
- 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.
- Det finns ingen maximal varaktighet för tidsgränsen för körningen framtvingas. Respitperioden som ges till en funktionskörning är dock 60 minuter under inskalning för Flex Consumption- och Premium-abonnemangen, och en respitperiod på 10 minuter ges under plattformsuppdateringar.
- Kräver att App Service-planen är inställd på AlwaysOn. En respitperiod på 10 minuter ges under plattformsuppdateringar.
- Standardtimeouten för version 1.x av Functions-värdkörningen är obundet.
- När det minsta antalet repliker är inställt på noll beror standardtimeouten på de specifika utlösare som används i appen.
Nästa steg
Mer information finns i följande resurser: