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
Belangrijk
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.
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.0
of net6.0
net48
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.0
opnemen.
.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:
- 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.
- Vanaf de runtime van versie 2.x moeten alle bindingen behalve HTTP en Timer worden geregistreerd. Raadpleeg Bindingextensies registreren.
- Triggers worden niet ondersteund in het verbruiksabonnement. Vereist runtime-gestuurde triggers.
- 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 |
- 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.
- 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.
- Vereist dat het App Service-plan is ingesteld op AlwaysOn. Er wordt een respijtperiode van 10 minuten gegeven tijdens platformupdates.
- De standaardtime-out voor versie 1.x van de Functions-hostruntime is niet afhankelijk.
- 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: