Delen via


Overzicht van runtimeversies van Azure Functions

Azure Functions ondersteunt momenteel twee versies van de runtime-host. De volgende tabel bevat informatie over de momenteel ondersteunde runtime-versies, het ondersteuningsniveau en wanneer ze moeten worden gebruikt:

Versie Ondersteuningsniveau Beschrijving
4.x GA Aanbevolen runtimeversie voor functies in alle talen. Bekijk ondersteunde taalversies.
1.x GA (ondersteuning eindigt op 14 september 2026) Alleen ondersteund voor C#-apps die .NET Framework moeten gebruiken. Deze versie bevindt zich in de onderhoudsmodus, met verbeteringen alleen in latere versies. De ondersteuning wordt op 14 september 2026 beëindigd voor versie 1.x. U wordt ten zeerste aangeraden uw apps te migreren naar versie 4.x, die ondersteuning biedt voor .NET Framework 4.8, .NET 6, .NET 8 en .NET 9.

Belangrijk

Vanaf 13 december 2022 hebben functie-apps die worden uitgevoerd op versie 2.x en 3.x van de Azure Functions-runtime het einde van de uitgebreide ondersteuning bereikt. Zie Buiten gebruik gestelde versies voor meer informatie.

In dit artikel worden enkele van de verschillen beschreven tussen ondersteunde versies, hoe u elke versie kunt maken en hoe u de versie wijzigt waarop uw functies worden uitgevoerd.

Ondersteuningsniveaus

Er zijn twee ondersteuningsniveaus:

  • Algemeen beschikbaar (GA): volledig ondersteund en goedgekeurd voor productiegebruik.
  • Preview - nog niet ondersteund, maar verwachtte dat deze de GA-status in de toekomst bereikt.

Talen

Alle functies in een functie-app moeten dezelfde taal delen. U kiest de taal van functies in uw functie-app wanneer u de app maakt. De taal van uw functie-app wordt onderhouden in de FUNCTIONS_WORKER_RUNTIME-instelling en kan niet worden gewijzigd wanneer er bestaande functies zijn.

In de volgende tabel ziet u de .NET-versies die worden ondersteund door Azure Functions. Selecteer de gewenste ontwikkeltaal bovenaan het artikel.

De ondersteunde versie van .NET is afhankelijk van zowel de runtimeversie van Functions als het door u gekozen uitvoeringsmodel:

Uw functiecode wordt uitgevoerd in een afzonderlijk .NET-werkproces. Gebruiken met ondersteunde versies van .NET en .NET Framework. Zie .NET geïsoleerde werkprocesfuncties ontwikkelen voor meer informatie.

Ondersteunde versie Ondersteuningsniveau Verwachte EOL-datum van community
.NET 9 Preview uitvoeren Beleid weergeven
.NET 8 GA 10 november 2026
.NET 6 GA 12 november 2024
.NET Framework 4.8 GA Beleid weergeven

.NET 7 werd eerder ondersteund op het geïsoleerde werkrolmodel, maar bereikte het einde van de officiële ondersteuning op 14 mei 2024.

Zie Handleiding voor het uitvoeren van C# Azure Functions in een geïsoleerd werkproces voor meer informatie.

In de volgende tabel ziet u de taalversies die worden ondersteund voor Java-functies. Selecteer de gewenste ontwikkeltaal bovenaan het artikel.

Ondersteunde versie Ondersteuningsniveau Verwachte EOL-datum van community
Java 21 (alleen Linux) Preview uitvoeren September 2028
Java 17 GA September 2027
Java 11 GA September 2027
Java 8 GA 30 november 2026

Zie de Ontwikkelaarshandleiding voor Azure Functions Java voor meer informatie.

In de volgende tabel ziet u de taalversies die worden ondersteund voor Node.js functies. Selecteer de gewenste ontwikkeltaal bovenaan het artikel.

Ondersteunde versie Ondersteuningsniveau Verwachte EOL-datum van community
Node.js 22 Preview uitvoeren 30 april 2027
Node.js 20 GA 30 april 2026
Node.js 18 GA 30 april 2025

TypeScript wordt ondersteund door transpiling naar JavaScript. Zie de ontwikkelaarshandleiding voor Azure Functions Node.js voor meer informatie.

In de volgende tabel ziet u de taalversie die wordt ondersteund voor PowerShell-functies. Selecteer de gewenste ontwikkeltaal bovenaan het artikel.

Ondersteunde versie Ondersteuningsniveau Verwachte EOL-datum van community
PowerShell 7.4 GA 10 november 2026
PowerShell 7.2 GA vrijdag 8 november 2024

Zie de ontwikkelaarshandleiding voor Azure Functions PowerShell voor meer informatie.

In de volgende tabel ziet u de taalversies die worden ondersteund voor Python-functies. Selecteer de gewenste ontwikkeltaal bovenaan het artikel.

Ondersteunde versie Ondersteuningsniveau Verwachte EOL-datum van community
Python 3.11 GA Oktober 2027
Python 3.10 GA Oktober 2026
Python 3.9 GA Oktober 2025
Python 3.8 GA Oktober 2024

Zie de ontwikkelaarshandleiding voor Azure Functions Python voor meer informatie.

Zie Azure-roadmap voor informatie over geplande wijzigingen aan taalondersteuning.

Zie Buiten gebruik gestelde runtime-versies voor informatie over de taalversies van eerder ondersteunde versies van de Functions-runtime.

Uitvoeren op een specifieke versie

De versie van de Functions-runtime die wordt gebruikt door gepubliceerde apps in Azure, wordt bepaald door de FUNCTIONS_EXTENSION_VERSION toepassingsinstelling. In sommige gevallen en voor bepaalde talen kunnen andere instellingen worden toegepast.

Functie-apps die zijn gemaakt in Azure Portal, door de Azure CLI of vanuit Visual Studio-hulpprogramma's, worden standaard ingesteld op versie 4.x. U kunt deze versie indien nodig wijzigen. U kunt de runtimeversie alleen downgraden naar 1.x nadat u uw functie-app hebt gemaakt, maar voordat u functies toevoegt. Het bijwerken naar een latere primaire versie is zelfs toegestaan bij apps met bestaande functies.

Bestaande functie-apps migreren

Wanneer uw app bestaande functies heeft, moet u voorzorgsmaatregelen nemen voordat u overstapt op een latere primaire runtimeversie. In de volgende artikelen worden belangrijke wijzigingen tussen belangrijke versies beschreven, waaronder taalspecifieke wijzigingen die fouten veroorzaken. Ze bieden u ook stapsgewijze instructies voor een geslaagde migratie van uw bestaande functie-app.

Versie van apps wijzigen in Azure

De volgende primaire runtimeversiewaarden worden gebruikt:

Weergegeven als Runtimedoel
~4 4.x
~1 1.x

Belangrijk

Wijzig deze app-instelling niet willekeurig, omdat andere app-instellingswijzigingen en wijzigingen in uw functiecode mogelijk vereist zijn. Volg de migratie-instructies voor bestaande functie-apps.

Vastmaken aan een specifieke secundaire versie

Als u problemen wilt oplossen die uw functie-app kan hebben wanneer deze wordt uitgevoerd op de nieuwste primaire versie, moet u uw app tijdelijk vastmaken aan een specifieke secundaire versie. Vastmaken geeft u tijd om uw app correct uit te voeren op de nieuwste primaire versie. De manier waarop u een secundaire versie vastmaken, verschilt tussen Windows en Linux. Zie De runtimeversies van Azure Functions targeten voor meer informatie.

Oudere secundaire versies worden periodiek verwijderd uit Functions. Voor het laatste nieuws over Azure Functions-releases, waaronder het verwijderen van specifieke oudere secundaire versies, controleert u Azure-app Service-aankondigingen.

Minimale uitbreidingsversies

Er is technisch gezien geen correlatie tussen bindingsuitbreidingsversies en de Runtime-versie van Functions. Vanaf versie 4.x dwingt de Functions-runtime echter een minimale versie af voor alle trigger- en bindingsextensies.

Als u een waarschuwing ontvangt over een pakket dat niet voldoet aan een minimaal vereiste versie, moet u dat NuGet-pakket bijwerken naar de minimale versie zoals u dat normaal zou doen. De minimale versievereisten voor extensies die worden gebruikt in Functions v4.x vindt u in het gekoppelde configuratiebestand.

Werk voor het C#-script de naslaginformatie voor de extensiebundel als volgt bij in de host.json:

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

Er is technisch gezien geen correlatie tussen extensiebundelversies en de Runtime-versie van Functions. Vanaf versie 4.x dwingt de Functions-runtime echter een minimale versie af voor extensiebundels.

Als u een waarschuwing ontvangt over de uitbreidingsbundelversie die niet voldoet aan een minimaal vereiste versie, werkt u de bestaande extensiebundelverwijzing als volgt bij in de host.json:

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

Zie Uitbreidingsbundels voor meer informatie over uitbreidingsbundels.

Buiten gebruik gestelde versies

Deze versies van de Functions-runtime bereikten het einde van de uitgebreide ondersteuning op 13 december 2022.

Versie Huidig ondersteuningsniveau Vorig ondersteuningsniveau
3.x Geen ondersteuning GA
2.x Geen ondersteuning GA

U moet uw apps zo snel mogelijk migreren naar versie 4.x om volledige ondersteuning te krijgen. Zie Apps migreren naar Azure Functions versie 4.x voor een volledige set taalspecifieke migratie-instructies.

Apps met versie 2.x en 3.x kunnen nog steeds worden gemaakt en geïmplementeerd vanuit uw CI/CD DevOps-pijplijn en alle bestaande apps blijven actief zonder wijzigingen die fouten veroorzaken. Uw apps komen echter niet in aanmerking voor nieuwe functies, beveiligingspatches en prestatieoptimalisaties. U kunt alleen verwante serviceondersteuning krijgen nadat u uw apps hebt bijgewerkt naar versie 4.x.

Einde van de ondersteuning voor versies 2.x en 3.x wordt veroorzaakt door het einde van de ondersteuning voor .NET Core 3.1, die ze als kernafhankelijkheid hadden. Deze vereiste is van invloed op alle talen die worden ondersteund door Azure Functions.

Lokaal ontwikkelde toepassingsversies

U kunt de volgende updates aanbrengen voor functie-apps om de doelversies lokaal te wijzigen.

Runtimeversies van Visual Studio

In Visual Studio selecteert u de runtimeversie wanneer u een project maakt. Azure Functions-hulpprogramma's voor Visual Studio ondersteunen de twee primaire runtimeversies. De juiste versie wordt gebruikt bij het opsporen en publiceren van fouten op basis van projectinstellingen. De versie-instellingen worden gedefinieerd in het .csproj bestand in de volgende eigenschappen:

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

Als u het geïsoleerde werkrolmodel gebruikt, kunt u kiezen, net8.0of net6.0net48 als doelframework. U kunt er ook voor kiezen om preview-ondersteuning te gebruiken voor net9.0. Als u het in-procesmodel gebruikt, kunt u kiezen net8.0 of net6.0, en moet u de Microsoft.NET.Sdk.Functions extensie ten minste 4.4.0opnemen.

.NET 7 werd eerder ondersteund op het geïsoleerde werkrolmodel, maar bereikte het einde van de officiële ondersteuning op 14 mei 2024.

Visual Studio Code en Azure Functions Core Tools

Azure Functions Core Tools wordt gebruikt voor het ontwikkelen van opdrachtregels en ook door de Azure Functions-extensie voor Visual Studio Code. Zie De Azure Functions Core Tools installeren voor meer informatie.

Voor het ontwikkelen van Visual Studio Code moet u ook de gebruikersinstelling bijwerken zodat deze azureFunctions.projectRuntime overeenkomt met de versie van de geïnstalleerde hulpprogramma's. Met deze instelling worden ook de sjablonen en talen bijgewerkt die worden gebruikt tijdens het maken van de functie-app.

Bindingen

Vanaf versie 2.x maakt de runtime gebruik van een nieuw uitbreidbaarheidsmodel voor bindingen dat deze voordelen biedt:

  • Ondersteuning voor bindingsextensies van derden.

  • Ontkoppeling van runtime en bindingen. Met deze wijziging kunnen bindingsextensies onafhankelijk van elkaar worden geversied en vrijgegeven. U kunt er bijvoorbeeld voor kiezen om een upgrade uit te voeren naar een versie van een extensie die afhankelijk is van een nieuwere versie van een onderliggende SDK.

  • Een lichtere uitvoeringsomgeving, waarbij alleen de bindingen die in gebruik zijn bekend en geladen door de runtime.

Met uitzondering van HTTP- en timertriggers moeten alle bindingen expliciet worden toegevoegd aan het functie-app-project of worden geregistreerd in de portal. Zie Bindingsextensies registreren voor meer informatie.

In de volgende tabel ziet u welke bindingen worden ondersteund in elke runtimeversie.

Dit tabel geeft de bindingen weer die worden ondersteund in de belangrijkste versies van de Azure Functions-runtime:

Type 1.x1 2.x en hoger2 Activator Invoer Uitvoer
Blob Storage
Azure Cosmos DB
Azure Data Explorer
Azure SQL
Dapr4
Event Grid
Event Hubs
HTTP en webhooks
IoT Hub
Kafka3
Mobile Apps
Notification Hubs
Queue Storage
Redis
RabbitMQ3
SendGrid
Service Bus
SignalR
Table Storage
Timer
Twilio

Opmerkingen:

  1. De ondersteuning wordt beëindigd voor versie 1.x van de Azure Functions-runtime op 14 september 2026. We raden u ten zeerste aan uw apps te migreren naar versie 4.x voor volledige ondersteuning.
  2. Vanaf de runtime van versie 2.x moeten alle bindingen behalve HTTP en Timer worden geregistreerd. Raadpleeg Bindingextensies registreren.
  3. Triggers worden niet ondersteund in het verbruiksabonnement. Vereist runtime-gestuurde triggers.
  4. Alleen ondersteund in Kubernetes-, IoT Edge- en andere zelf-hostende modi.

Time-outduur voor Function-app

De time-outduur voor functies in een functie-app wordt gedefinieerd door de functionTimeout eigenschap in het host.json projectbestand. Deze eigenschap is specifiek van toepassing op functie-uitvoeringen. Nadat de trigger de uitvoering van de functie start, moet de functie binnen de time-outduur retourneren/reageren. Om time-outs te voorkomen, is het belangrijk om robuuste functies te schrijven. Zie Prestaties en betrouwbaarheid van Azure Functions verbeteren voor meer informatie.

In de volgende tabel ziet u de standaard- en maximumwaarden (in minuten) voor specifieke plannen:

Plannen Standaardinstelling Maximum1
Verbruiksabonnement 5 10
Flex Consumption-abonnement 30 Niet-gebonden2
Premium-abonnement 304 Niet-gebonden2
Toegewezen abonnement 304 Niet-gebonden3
Container Apps 30 Niet-gebonden4
  1. Ongeacht de time-outinstelling van de Function-app is 230 seconden de maximale tijdsduur die een door HTTP geactiveerde functie heeft om te reageren op een aanvraag. Dit komt door de standaard time-out voor inactiviteit van Azure Load Balancer. Overweeg voor langere verwerkingstijden het asynchrone Durable Functions-patroon te gebruiken of stel het werk uit en stuur onmiddellijk een antwoord terug.
  2. Er is geen maximale time-outduur voor uitvoering afgedwongen. De respijtperiode die aan een functie-uitvoering wordt gegeven, is echter 60 minuten tijdens de inschaal voor de Flex Consumption- en Premium-abonnementen en er wordt een respijtperiode van 10 minuten gegeven tijdens platformupdates.
  3. Vereist dat het App Service-plan is ingesteld op AlwaysOn. Er wordt een respijtperiode van 10 minuten gegeven tijdens platformupdates.
  4. De standaardtime-out voor versie 1.x van de Functions-hostruntime is niet afhankelijk.
  5. Wanneer het minimale aantal replica's is ingesteld op nul, is de standaardtime-out afhankelijk van de specifieke triggers die in de app worden gebruikt.

Volgende stappen

Voor meer informatie raadpleegt u de volgende bronnen: