Delen via


Veelvoorkomende problemen tijdens de Upgrade van Azure Runtime oplossen

In dit artikel wordt beschreven hoe u enkele veelvoorkomende problemen kunt oplossen die kunnen optreden tijdens de update van de taal van de functie-app of runtimeversie, zoals runtime die onbereikbaar is en modules niet worden gevonden.

  • Uitgebreide ondersteuning voor Microsoft .NET Core 3.1 is beëindigd op 3 december 2022. Azure Functions Runtime v3 is gebaseerd op .NET Core 3.1. U wordt aangeraden uw functie-app bij te werken naar runtimeversie 4.x, die gebruikmaakt van .NET 6 en langetermijnondersteuning heeft. Na 3 december 2022 komen uw apps niet in aanmerking voor nieuwe functies, beveiligingspatches, prestatieoptimalisaties of ondersteuning totdat u ze upgradet naar Functions Runtime versie 4.x.

  • Uw Functions-apps op runtime v3 blijven actief en uw toepassingen worden niet beïnvloed. Na deze datum kunt u code implementeren in deze Functions-toepassingen. Maar we kunnen de mogelijkheid voor u verwijderen om toepassingen te maken die gericht zijn op de Functions Runtime v3 met behulp van algemene paden.

  • Zie voor meer informatie en migratierichtlijnen:

De compatibiliteit van de functie-app valideren voor runtime v4

  • Navigeer naar uw functie-app in de Azure-portal. Selecteer Problemen vaststellen en oplossen om Diagnostische gegevens in Azure Functions te openen. Typ in de zoekbalk de tekst Taal- of runtimeversie van de functie-app bijwerken om deze rechtstreeks uit te voeren. Het diagnostische rapport bevat richtlijnen voor de update. Nadat de validatie is voltooid, volgt u de aanbevelingen en kunt u eventuele problemen in uw app oplossen.
  • We bieden tevens een validator vóór de upgrade, zodat u potentiële problemen kun opsporen voordat u uw functie-app naar 4.x migreert. Typ op dezelfde diagnostische zoekbalk Functions 4.x Validatie voor de upgrade om het rechtstreeks uit te voeren. Nadat de validatie is voltooid, volgt u de aanbevelingen en kunt u eventuele problemen in uw app oplossen.
  • We raden u ten zeerste aan uw lokale projectomgeving te upgraden naar versie 4.x. Test uw app volledig lokaal met versie 4.x van de Azure Functions core-hulpprogramma’s.
  • Overweeg om eerst een staging-site te gebruiken om uw app in Azure te testen en te verifiëren op de nieuwe runtimeversie, voordat u deze implementeert naar een productiesite. Vergeet niet om WEBSITE_OVERRIDE_STICKY_EXTENSION_VERSIONS=0 in te stellen voor migratie met sleuven.

De runtimeversie van Functions voor Windows wijzigen

  1. Stel FUNCTIONS_EXTENSION_VERSION, een app-instelling in het deelvenster Configuratie van Azure Portal, in op ~4. Zie De runtimeversie wijzigen voor meer informatie.
  2. Stel de netFrameworkVersion site-instelling in op .NET 6. netFrameworkVersion is een SiteConfig-instelling, geen app-instelling. En deze is niet rechtstreeks beschikbaar in Azure Portal. U kunt deze echter instellen met behulp van Azure Resource Explorer of Azure CLI/PowerShell.

Raadpleeg Versies van Functions-runtime voor meer informatie.

De runtimeversie van Functions voor Linux wijzigen

  1. Stel FUNCTIONS_EXTENSION_VERSION, een app-instelling in het deelvenster Configuratie van Azure Portal, in op ~4. Zie De runtimeversie wijzigen voor meer informatie.
  2. Stel LinuxFxVersionop basis van de gebruikte taal de opdrachtregelinterface (CLI) <Language>|<LanguageVersion>in op basis van de gebruikte taal. Zie LinuxFxVersion gebruiken voor Linux Function-apps voor meer informatie. Als u bijvoorbeeld wilt bijwerken naar .NET 6, kunt u instellen LinuxFxVersion dotnet|6.0 op en FUNCTIONS_EXTENSION_VERSION op ~4.

Raadpleeg Versies van Functions-runtime voor meer informatie.

Een lijst met ondersteunde talen ophalen op basis van de runtimeversie

Bekijk de lijst met ondersteunde talen op basis van de runtimeversie.

De taalversie-instelling voor de functie-app bijwerken na het bijwerken van de code

  • PowerShell: Stel in Azure Portal de PowerShell Core version. Zie De PowerShell-versie wijzigen voor meer informatie.
  • Python: stel linuxFxVersion in op python|3.x. Zie De Python-versie wijzigen voor meer informatie.
  • Java: geef de taalversie op met -DjavaVersion 11 of 17. Zie De implementatieversie opgeven voor meer informatie.
  • Node, JavaScript: Voor Windows stelt u de WEBSITE_NODE_DEFAULT_VERSION app-instelling in op ~16. Voor Linux stelt u linuxFxVersion, met behulp van de CLI, in op node|16. Zie De Node-versie instellen voor meer informatie.

Gebruik van Azure Functions-proxy's

Ondersteuning voor proxy's is weer beschikbaar in versie 4.x, zodat u uw functie-apps kunt upgraden naar de nieuwste runtimeversie. We raden u echter aan om zo snel mogelijk over te schakelen naar de integratie van uw functie-apps met Azure API Management. Met API Management kunt u profiteren van een completere set functies om uw op Functies gebaseerde API's te definiëren, te beveiligen, te beheren en er geld mee te verdienen. Zie Migreren naar APIM en Functions integreren met APIM met behulp van Visual Studio voor meer informatie.

Een lijst ophalen met alle Azure Functions-apps die gebruikmaken van runtimeversie 1.x, 2.x of 3.x

  1. Navigeer naar uw functie-app in de Azure-portal.
  2. Selecteer Problemen vaststellen en oplossen om Diagnostische gegevens in Azure Functions te openen.
  3. Typ in de zoekbalk de tekst Taal- of runtimeversie van de functie-app bijwerken om deze rechtstreeks uit te voeren.
  4. Schuif in het diagnostische rapport omlaag en selecteer Alle functie-app-details>weergeven.
  5. Stel de zoekfilters in en selecteer Weergeven om de lijst met functies-apps in het huidige abonnement op te halen.

U kunt ook Rest API-aanroepen van App Service (GetConfiguration) gebruiken om dit te bepalen. LinuxFxVersion en WindowsFxVersion geef de versiegegevens op.

Een .NET Framework 4.6.1-app verplaatsen van Functions Runtime v1 naar v4

.NET Framework 4.6.1 heeft het einde van de levensduur bereikt, dus apps moeten worden geüpgraded naar .NET Framework 4.8. In Functions v4 kunt u een .NET Framework 4.8-app uitvoeren in de out-of-process-modus. Zie de geïsoleerd proces-handleiding voor meer informatie.

Een gemigreerde functie-app start niet of heeft een aantal runtimeproblemen

  • Voor .NET-apps moet u de code bijwerken naar .NET 6 voordat u gaat bouwen en implementeren.
  • Controleer de runtimeversie van de app in Azure Portal.
  • Voor Windows-apps moet u ook netFrameworkVersion instellen via CLI of PowerShell.
  • Zorg ervoor dat u de uitbreidingsbundels 2.x of hoger gebruikt, zoals aanbevolen. Versie 4.x van de Functions-runtime vereist versies 2.x of 3.0.0.
  • Aanmelden bij Azure Storage met behulp van AzureWebJobsDashboard wordt niet meer ondersteund in 4.x. Gebruik in plaats daarvan Application Insights voor bewaking.
  • Als u een bericht ontvangt dat De Azure Functions-runtime onbereikbaar is en u opslagaccounts deelt, raadpleegt u overwegingen voor host-id's.
  • Azure Functions 4.x biedt geen ondersteuning voor Node.js 10 en 12, Python 3.6 en PowerShell 6. Zie Taalversies die worden ondersteund voor de v4-runtime voor meer informatie.
  • Als er fouten zijn met betrekking tot moduleconflicten en module niet gevonden, kunt u voor Python-functies proberen om 1 in de app-instellingen in te stellenPYTHON_ISOLATE_WORKER_DEPENDENCIES.
  • Controleer de migratie van bestaande functie-apps.
  • Voor runtimeproblemen zoekt u vanuit de optie Problemen vaststellen en oplossen in Azure Portal naar functie-app, of rapporteert u fouten en bekijkt u het diagnostische rapport voor foutberichten en oplossingen. Controleer ook de detector Functieconfiguratie-controles om te controleren of de configuratie juist is.
  • Bekijk de blogproblemen bij het upgraden van Azure-functie-apps naar V4 voor aanvullende tips voor probleemoplossing.

Contacteer ons voor hulp

Als u vragen hebt of hulp nodig hebt, maak een ondersteuningsaanvraag of vraag de Azure-communityondersteuning. U kunt ook productfeedback verzenden naar de Azure-feedbackcommunity.