Dela via


Felsöka vanliga problem under Azure Runtime-uppgraderingen

Den här artikeln beskriver hur du löser några av de vanliga problem som kan uppstå under uppdateringen av funktionsappens språk eller körningsversion, som att körningen inte kan nås och moduler som inte hittas.

  • Utökad support för Microsoft .NET Core 3.1 upphörde den 3 december 2022. Azure Functions runtime v3 baseras på .NET Core 3.1. Vi rekommenderar att du uppdaterar funktionsappen till körningsversion 4.x, som använder .NET 6 och har långsiktig support. Efter den 3 december 2022 är dina appar inte berättigade till nya funktioner, säkerhetskorrigeringar, prestandaoptimeringar eller support förrän du uppgraderar dem till Functions-körningsversion 4.x.

  • Dina Functions-appar på runtime v3 fortsätter att köras och dina program påverkas inte. Du kan distribuera kod till dessa Functions-program efter det här datumet. Men vi kan ta bort möjligheten för dig att skapa program som är inriktade på Functions runtime v3 med hjälp av vanliga sökvägar.

  • Mer information och migreringsvägledning finns i:

Verifiera funktionsappens kompatibilitet för körning v4

  • Gå till din funktionsapp i Azure-portalen. Välj Diagnostisera och lösa problem för att öppna Azure Functions-diagnostik. I sökfältet skriver du Uppdatera språk eller körningsversion för en funktionsapp för att köra det direkt. Diagnostikrapporten innehåller information om uppdateringen. När valideringen är klar följer du rekommendationerna och åtgärdar eventuella problem i din app.
  • Vi tillhandahåller också en verifierare som hjälper dig att identifiera potentiella problem innan du migrerar funktionsappen till 4.x. I samma diagnostiksökfält skriver du Functions 4.x Pre-Upgrade Validator för att köra den direkt. När valideringen är klar följer du rekommendationerna och åtgärdar eventuella problem i din app.
  • Vi rekommenderar starkt att du uppgraderar din lokala projektmiljö till version 4.x. Testa appen lokalt med version 4.x av Azure Functions Core Tools.
  • Överväg att använda en mellanlagringsplats för att testa och verifiera din app i Azure på den nya körningsversionen innan du distribuerar till en produktionsplats. Kom ihåg att ange WEBSITE_OVERRIDE_STICKY_EXTENSION_VERSIONS=0 för migrering med platser.

Ändra functions runtime-versionen för Windows

  1. Ange FUNCTIONS_EXTENSION_VERSION, som är en appinställning i fönstret Azure Portal Konfiguration, till ~4. Mer information finns i Ändra körningsversionen.
  2. Ange platsinställningen netFrameworkVersion som mål för .NET 6. netFrameworkVersion är en SiteConfig-inställning, inte en appinställning. Och det är inte direkt tillgängligt i Azure Portal. Men du kan ange det med hjälp av Azure Resource Explorer eller Azure CLI/PowerShell.

Mer information finns i avsnittet om Functions-körningsversioner.

Ändra functions runtime-versionen för Linux

  1. Ange FUNCTIONS_EXTENSION_VERSION, som är en appinställning i fönstret Azure Portal Konfiguration, till ~4. Mer information finns i Ändra körningsversionen.
  2. Ange LinuxFxVersion, med hjälp av kommandoradsgränssnittet (CLI) till <Language>|<LanguageVersion>, baserat på det språk som används. Mer information finns i Använda LinuxFxVersion för Linux-funktionsappar. Om du till exempel vill uppdatera till .NET 6 kan du ange LinuxFxVersion till dotnet|6.0 och FUNCTIONS_EXTENSION_VERSION till ~4.

Mer information finns i avsnittet om Functions-körningsversioner.

Hämta en lista över språk som stöds av körningsversionen

Se listan över språk som stöds av körningsversionen.

Uppdatera språkversionsinställningen för funktionsappen när koden har uppdaterats

  • PowerShell: I Azure Portal anger du PowerShell Core version. Mer information finns i Ändra PowerShell-versionen.
  • Python: Ange linuxFxVersion till python|3.x. Mer information finns i Ändra Python-version.
  • Java: Ange språkversionen genom att ange -DjavaVersion till 11 eller 17. Mer information finns i Ange distributionsversion.
  • Node, JavaScript: För Windows anger du appinställningen WEBSITE_NODE_DEFAULT_VERSION till ~16. För Linux anger du linuxFxVersion med hjälp av CLI till node|16. Mer information finns i Ange node-versionen.

Användning av Azure Functions-proxyservrar

Stöd för proxyservrar är tillgängligt igen i version 4.x så att du kan uppgradera dina funktionsappar till den senaste körningsversionen. Vi rekommenderar dock att du byter till att integrera dina funktionsappar med Azure API Management så snart som möjligt. Med API Management kan du dra nytta av en mer komplett uppsättning funktioner för att definiera, skydda, hantera och tjäna pengar på dina Functions-baserade API:er. Mer information finns i Migrera till APIM och Integrera funktioner med APIM med Visual Studio.

Hämta en lista över alla Azure Functions-appar som använder körningsversion 1.x, 2.x eller 3.x

  1. Gå till din funktionsapp i Azure-portalen.
  2. Välj Diagnostisera och lösa problem för att öppna Azure Functions-diagnostik.
  3. I sökfältet skriver du Uppdatera språk eller körningsversion för en funktionsapp för att köra det direkt.
  4. I diagnostikrapporten bläddrar du nedåt och väljer Visa information om alla funktioners appvy>.
  5. Ange sökfiltren och välj Visa för att hämta listan över funktionsappar i den aktuella prenumerationen.

Alternativt kan du använda App Service REST API-anrop (GetConfiguration) för att fastställa detta. LinuxFxVersion och WindowsFxVersion ange versionsinformationen.

Flytta en .NET Framework 4.6.1-app från Functions Runtime v1 till v4

.NET Framework 4.6.1 har nått slutet av livscykeln, så appar bör uppgraderas till .NET Framework 4.8. I Functions version 4 kan du köra en .NET Framework 4.8-app i läget utanför processen. Mer information finns i guiden för isolerad process.

En migrerad funktionsapp startar inte eller har vissa körningsproblem

  • För .NET-appar bör du komma ihåg att uppdatera koden till .NET 6 innan du skapar och distribuerar den.
  • Dubbelkolla körningsversionen av appen i Azure Portal.
  • För Windows-appar måste du också ange netFrameworkVersion med hjälp av CLI eller PowerShell.
  • Kontrollera att du använder tilläggspaketen 2.x eller senare enligt rekommendationerna. Version 4.x av Functions-körningen kräver version 2.x eller 3.0.0.
  • Inloggning i Azure Storage med AzureWebJobsDashboard stöds inte längre i 4.x. Använd i stället Application Insights för övervakning.
  • Om du får ett meddelande om att Azure Functions-körningen inte kan nås och du delar lagringskonton läser du Överväganden för värd-ID.
  • Azure Functions 4.x stöder inte Node.js 10 och 12, Python 3.6 och PowerShell 6. Mer information finns i Språkversioner som stöds för v4-körningen.
  • Om det finns fel relaterade till modulkollision och modulen inte hittas för Python-funktioner kan du prova att ange PYTHON_ISOLATE_WORKER_DEPENDENCIES 1 i appinställningarna.
  • Läs Migrera befintliga funktionsappar.
  • För körningsproblem från alternativet Diagnostisera och lösa problem i Azure Portal söker du efter funktionsappen eller rapporterar fel och granskar diagnostikrapporten efter felmeddelanden och lösningar. Granska även verifieraren för funktionskonfigurationskontroller för att se till att konfigurationen är korrekt.
  • Läs bloggen Problem när du uppgraderar Azure-funktionsappar till V4 för ytterligare felsökningstips.

Kontakta oss för att få hjälp

Om du har frågor eller behöver hjälp skapar du en supportförfrågan eller frågar Azure community support. Du kan också skicka produktfeedback till Azure-feedbackcommunityn.