Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
In Azure Functions is ondersteuning voor een taalstack beperkt tot specifieke versies. Wanneer er nieuwe versies beschikbaar komen, kunt u uw functie-apps bijwerken om te profiteren van nieuwe functies. Ondersteuning voor Functions eindigt ook voor oudere versies en loopt meestal met de tijdlijnen voor het einde van de ondersteuning door de community. Zie het ondersteuningsbeleid voor taalruntime voor meer informatie. Zie Talen per runtime-versie voor ondersteunde versies van verschillende talen.
Volg de instructies in dit artikel om ervoor te zorgen dat uw functie-apps ondersteuning blijven ontvangen om ze bij te werken naar de nieuwste beschikbare versies. De manier waarop u uw functie-app bijwerkt, is afhankelijk van verschillende factoren:
- De taal die u gebruikt om uw functie-apps te ontwikkelen. Zorg ervoor dat u bovenaan dit artikel uw programmeertaal selecteert.
- Het besturingssysteem waarop uw functie-app wordt uitgevoerd in Azure: Windows of Linux.
- Het hostingabonnement.
Notitie
In dit artikel leest u hoe u de .NET-versie van een functie-app bijwerkt die gebruikmaakt van het geïsoleerde werkrolmodel. Als uw functie-app wordt uitgevoerd op een oudere versie van .NET en het in-process model gebruikt, kunt u de volgende opties overwegen:
Uw functie-app voorbereiden
Voordat u de stackconfiguratie voor uw functie-app in Azure bijwerkt, moet u de taken in de volgende secties uitvoeren.
Afhankelijkheden controleren
Bekijk deze mogelijke afhankelijkheden voordat u taalversies bijwerkt:
-
Uitbreidingsbundels: Controleer of uw
host.jsonbestand verwijst naar een compatibele extensiebundelversie. Versie 4.x-bundels worden aanbevolen voor de meeste scenario's.
Bindingextensies: werk eventuele expliciete bindingsextensieverwijzingen bij naar versies die compatibel zijn met uw nieuwe taalversie.
Pakketafhankelijkheden: controleer en werk alle pakketafhankelijkheden bij naar versies die ondersteuning bieden voor uw doeltaalversie.
Lokale hulpprogramma's: zorg ervoor dat uw lokale ontwikkelhulpprogramma's, zoals Azure Functions Core Tools, SDK's en IDE's, de nieuwe taalversie ondersteunen.
Uw functie-app lokaal verifiëren
Test en controleer de code van uw functie-app lokaal op de nieuwe doelversie.
Gebruik deze stappen om het project op uw lokale computer bij te werken:
Zorg ervoor dat de doelversie van de .NET SDK is geïnstalleerd.
Als u een preview-versie wilt gebruiken, raadpleegt u de Functies-richtlijnen voor preview.NET-versies om ervoor te zorgen dat de versie wordt ondersteund. Voor het gebruik van .NET-previews zijn mogelijk meer stappen vereist.
Werk uw verwijzingen bij naar de nieuwste versies van Microsoft.Azure.Functions.Worker en Microsoft.Azure.Functions.Worker.Sdk.
Werk het doelframework van uw project bij naar de nieuwe versie. Voor C#-projecten moet u het
<TargetFramework>element in het .csproj-bestand bijwerken. Zie Target-frameworks voor meer informatie over uw versie.Het wijzigen van het doelframework van uw project vereist mogelijk ook wijzigingen in onderdelen van uw hulpprogrammaketen, buiten projectcode. In Visual Studio Code moet u bijvoorbeeld mogelijk de
azureFunctions.deploySubpathextensie-instelling bijwerken in uw gebruikersinstellingen of het bestand .vscode/settings.json van uw project. Controleer op eventuele afhankelijkheden van de frameworkversie die buiten uw projectcode bestaan, als onderdeel van buildstappen of een CI/CD-pijplijn (continue integratie en continue levering).Breng eventuele updates aan voor uw projectcode die nodig is voor de nieuwe .NET-versie. Raadpleeg de releaseopmerkingen van de versie voor specifieke informatie. U kunt ook de .NET-upgradeassistent gebruiken om uw code bij te werken als reactie op wijzigingen in primaire versies.
Nadat u deze wijzigingen hebt aangebracht, bouwt u het project opnieuw en test u het om te controleren of uw functie-app wordt uitgevoerd zoals verwacht.
Naar de nieuwste Functions-runtime gaan
Zorg ervoor dat uw functie-app wordt uitgevoerd op de nieuwste versie van de Functions-runtime (versie 4.x). U kunt de runtimeversie bepalen in Azure Portal of met behulp van de Azure CLI.
Gebruik deze stappen om de runtimeversie van Functions te bepalen:
Zoek en selecteer uw functie-app in Azure Portal. Selecteer Instellingenconfiguratie> in het zijmenu.
Ga naar het tabblad Runtime-instellingen van de functie en controleer de waarde van de runtimeversie . Uw functie-app moet worden uitgevoerd op versie 4.x van de Functions-runtime (
~4).
Als u uw functie-app wilt bijwerken naar versie 4.x, raadpleegt u Apps migreren van Azure Functions versie 1.x naar versie 4.x of Apps migreren van Azure Functions versie 3.x naar versie 4.x. Volg de instructies in deze artikelen in plaats van alleen de FUNCTIONS_EXTENSION_VERSION instelling te wijzigen.
Updates voor functie-apps publiceren
Als u de functie-app hebt bijgewerkt zodat deze correct wordt uitgevoerd op de nieuwe versie, publiceert u de updates van de functie-app voordat u de stackconfiguratie voor uw functie-app bijwerkt.
Aanbeveling
Als u het updateproces wilt stroomlijnen, de downtime voor uw functie-apps wilt minimaliseren en een mogelijke versie voor terugdraaien wilt leveren, publiceert u de bijgewerkte functie-app naar een staging-slot. Zie Azure Functions-implementatiesites voor meer informatie.
Wanneer u de bijgewerkte functie-app publiceert naar een staging-site, moet u de instructies voor specifieke updates in de rest van dit artikel volgen. Later wisselt u de bijgewerkte staging-site om in productie.
Overweeg het gebruik van slots
Voordat u de taalversie van uw functie-app bijwerkt, maakt u een implementatiesite die moet worden gebruikt voor testen en implementatie. Deze aanpak minimaliseert downtime en biedt een eenvoudige terugdraaioptie als er problemen optreden. In de voorbeelden in dit artikel wordt een staging-slot met de naam staging gebruikt.
Flex Consumption-abonnement: Slots worden momenteel niet ondersteund. Controleer eerst de bijgewerkte code in een niet-productiefunctie-app. Wanneer u implementeert in een actieve app, kunt u mogelijk de strategie voor rolling updates gebruiken. Zie Site-updatestrategieën in Flex Consumption voor meer informatie.
Belangrijk
De strategie voor rolling update is momenteel beschikbaar als preview-versie en wordt niet aanbevolen voor productie-apps. Bekijk de huidige beperkingen en overwegingen voordat u deze strategie inschakelt in een productie-app.
De stackconfiguratie bijwerken
De manier waarop u de stackconfiguratie bijwerkt, is afhankelijk van of uw functie-app wordt uitgevoerd in Windows of linux in Azure.
Wanneer u een staging slot gebruikt, moet u ervoor zorgen dat u uw updates op de juiste slot richt.
Gebruik de volgende stappen om de Java-versie bij te werken:
Zoek en selecteer uw functie-app in Azure Portal. Selecteer Instellingenconfiguratie> in het zijmenu. Als u een staging-slot hebt, selecteert u de specifieke slot.
Werk op het tabblad Algemene instellingenJava-versie bij naar de gewenste versie.
Selecteer Opslaan. Wanneer u een melding ontvangt over opnieuw opstarten, selecteert u Doorgaan.
Gebruik de volgende stappen om de .NET-versie bij te werken:
Zoek en selecteer uw functie-app in Azure Portal. Selecteer Instellingenconfiguratie> in het zijmenu. Als u een staging-slot hebt, selecteert u de specifieke slot.
Werk op het tabblad Algemene instellingen.NET-versie bij naar de gewenste versie.
Selecteer Opslaan. Wanneer u een melding ontvangt over opnieuw opstarten, selecteert u Doorgaan.
Gebruik de volgende stappen om de Node.js-versie bij te werken:
Zoek en selecteer uw functie-app in Azure Portal. Selecteer Instellingenconfiguratie> in het zijmenu. Als u een staging-slot hebt, selecteert u de specifieke slot.
Werk op het tabblad Algemene instellingenNode.js versie bij naar de gewenste versie.
Selecteer Opslaan. Wanneer u een melding ontvangt over opnieuw opstarten, selecteert u Doorgaan. Met deze wijziging wordt de
WEBSITE_NODE_DEFAULT_VERSIONtoepassingsinstelling bijgewerkt.
Gebruik de volgende stappen om de PowerShell-versie bij te werken:
Zoek en selecteer uw functie-app in Azure Portal. Selecteer Instellingenconfiguratie> in het zijmenu. Als u een staging-slot hebt, selecteert u de specifieke slot.
Werk op het tabblad Algemene instellingenPowerShell Core-versie bij naar de gewenste versie.
Selecteer Opslaan. Wanneer u een melding ontvangt over opnieuw opstarten, selecteert u Doorgaan.
De portal biedt geen ondersteuning voor Python-apps in Windows. Ga in plaats daarvan naar het tabblad Linux .
De functie-app wordt opnieuw opgestart nadat u de versie hebt bijgewerkt.
Notitie
Tijdens het opnieuw opstarten is uw functie-app gedurende een korte periode niet beschikbaar, meestal 30-60 seconden. Als u een productie-functie-app rechtstreeks bijwerkt (zonder een staging slot te gebruiken), plan dan voor deze downtime tijdens een onderhoudsvenster. De herstart beëindigt alle aanvragen tijdens de vlucht en nieuwe aanvragen mislukken totdat de app opnieuw wordt opgestart.
Controleer de update
Nadat de functie-app opnieuw is opgestart, controleert u of de taalversie is bijgewerkt.
Zoek en selecteer uw functie-app in Azure Portal. Selecteer Instellingenconfiguratie> in het zijmenu.
Controleer op het tabblad Algemene instellingen of de taalversie de nieuwe versie weergeeft die u hebt geselecteerd.
Selecteer Overzicht in het zijmenu en controleer of de status wordt weergegeven als Actief.
Nadat u de versie hebt gecontroleerd, controleert u ook of uw functies werken zoals verwacht.
Sites wisselen
Als u een staging-slot gebruikt om uw codeproject te implementeren en uw instellingen bij te werken, wisselt u de staging-slot naar productie. Zie Swap slots voor meer informatie.
Probleemoplossingsproces
Als u problemen ondervindt na het bijwerken van de taalversie, gebruikt u de volgende richtlijnen om veelvoorkomende problemen op te lossen:
De functie-app wordt niet gestart
Symptomen: De status van de functie-app wordt weergegeven als Gestopt of continu opnieuw wordt opgestart.
Oplossingen:
Controleer de toepassingslogboeken in Azure Portal:
- Navigeer naar uw functie-app en selecteer Bewakingslogboekstream>.
- Zoek naar foutberichten met betrekking tot runtime- of taalversies die niet overeenkomen.
Controleer of alle afhankelijkheden compatibel zijn met de nieuwe taalversie:
- Zorg ervoor dat NuGet-pakketten het doelframework ondersteunen voor .NET.
- Controleer voor Python of pakketversies
requirements.txtcompatibel zijn. - Controleer of
package.jsonafhankelijkheden de nieuwe Node.js-versie ondersteunen.
Controleer de extensiebundelversie in uw
host.jsonbestand. Oudere bundels ondersteunen mogelijk geen nieuwere taalversies.
Functies mislukken met runtimefouten
Symptomen: Afzonderlijke functies mislukken wanneer ze worden geactiveerd, met fouten in de logboeken.
Oplossingen:
Bekijk belangrijke wijzigingen voor uw taalversie:
- Zie Belangrijke wijzigingen in .NET voor uw doelversie.
- Bekijk de releaseopmerkingen voor Java voor migratierichtlijnen.
- Controleer Node.js releaseopmerkingen voor belangrijke wijzigingen.
- Bekijk wat er nieuw is in Python voor versiespecifieke wijzigingen.
- Bekijk opmerkingen bij de release van PowerShell voor wijzigingen.
Werk bindingsextensies bij naar versies die compatibel zijn met uw nieuwe taalversie.
Test functies lokaal met de nieuwe taalversie voordat u de implementatie opnieuw implementeert.
Versieconflicten van extensies
Symptomen: Fouten die "extensie"- of "binding"-versie-incompatibiliteiten vermelden.
Oplossingen:
Werk de extensiebundelversie bij naar
host.jsonversie 4.x of hoger.{ "version": "2.0", "extensionBundle": { "id": "Microsoft.Azure.Functions.ExtensionBundle", "version": "[4.*, 5.0.0)" } }Voor .NET-projecten die expliciete extensieverwijzingen gebruiken, werkt u alle
Microsoft.Azure.WebJobs.Extensions.*pakketten bij naar de nieuwste versies.
De update terugdraaien
Als u wilt terugkeren naar de vorige taalversie:
Als u een staging-slot heeft gebruikt:
- Wissel de staging-site terug naar productie.
- Werk de staging-slot weer bij naar de vorige versie voor pogingen in de toekomst.
Als u de productie rechtstreeks hebt bijgewerkt:
- Volg dezelfde updatestappen in dit artikel, maar geef uw vorige taalversie op.
- Implementeer de vorige codeversie opnieuw.
Bewaak uw functie-app om ervoor te zorgen dat deze weer normaal werkt.
Aanbeveling
Om problemen te voorkomen, test u altijd taalversie-updates in een staging-omgeving voordat u deze toepast op de productieomgeving. Maak een back-up van de configuratie van uw functie-app voordat u wijzigingen aanbrengt.