Partager via


Résoudre les problèmes courants lors de la mise à niveau d’Azure Runtime

Cet article explique comment résoudre certains des problèmes courants qui peuvent se produire pendant la mise à jour du langage d’application de fonction ou de la version du runtime, comme le runtime inaccessible et les modules introuvables.

  • La prise en charge étendue de Microsoft .NET Core 3.1 a pris fin le 3 décembre 2022. Le runtime Azure Functions v3 est basé sur .NET Core 3.1. Nous vous recommandons de mettre à jour votre application de fonction pour exécuter la version 4.x, qui utilise .NET 6 et a une prise en charge à long terme. Après le 3 décembre 2022, vos applications ne sont pas éligibles aux nouvelles fonctionnalités, correctifs de sécurité, optimisations des performances ou prise en charge jusqu’à ce que vous les mettez à niveau vers le runtime Functions version 4.x.

  • Vos applications Functions sur le runtime v3 continueront à s’exécuter et vos applications ne sont pas affectées. Vous pouvez déployer du code sur ces applications Functions après cette date. Toutefois, nous pouvons supprimer la possibilité de créer des applications ciblant le runtime Functions v3 à l’aide de chemins courants.

  • Pour plus d’informations et pour obtenir des conseils sur la migration, consultez :

Valider la compatibilité de l’application de fonction pour le runtime v4

  • Accédez à votre application de fonction sur le Portail Azure. Sélectionnez Diagnostiquer et résoudre les problèmes pour ouvrir les diagnostics Azure Functions. Dans la barre de recherche , tapez Mise à jour du langage de l’application Function ou de la version Runtime pour l’exécuter directement. Le rapport de diagnostic comprend des conseils sur la mise à jour. Une fois la validation terminée, suivez les recommandations et résolvez les problèmes dans votre application.
  • Nous fournissons également un validateur de pré-mise à niveau pour vous aider à identifier les problèmes potentiels lors de la migration de votre application function vers la version 4.x. Dans la même barre de recherche de diagnostics, tapez Validateur de pré-mise à niveau Functions 4.x pour l’exécuter directement. Une fois la validation terminée, suivez les recommandations et résolvez les problèmes dans votre application.
  • Nous vous recommandons vivement de mettre à niveau votre environnement de projet local vers la version 4.x. Testez entièrement votre application localement à l’aide de la version 4.x d’Azure Functions Core Tools.
  • Envisagez d'utiliser un emplacement intermédiaire pour tester et vérifier votre application dans Azure sur la nouvelle version du runtime avant de la déployer sur un emplacement de production. N’oubliez pas de définir WEBSITE_OVERRIDE_STICKY_EXTENSION_VERSIONS=0 pour une migration avec des emplacements.

Modifier la version du runtime Functions pour Windows

  1. Définissez FUNCTIONS_EXTENSION_VERSION, qui est un paramètre d’application dans le volet Configuration Portail Azure, sur ~4. Pour plus d’informations, consultez Modifier la version du runtime.
  2. Définissez le paramètre de netFrameworkVersion site sur .NET 6 cible. netFrameworkVersion est un paramètre SiteConfig et non un paramètre d’application. Et ce n’est pas directement disponible dans le Portail Azure. Toutefois, vous pouvez le définir à l’aide d’Azure Resource Explorer ou d’Azure CLI/PowerShell.

Pour plus d’informations, consultez Versions du runtime Functions.

Modifier la version du runtime Functions pour Linux

  1. Définissez FUNCTIONS_EXTENSION_VERSION, qui est un paramètre d’application dans le volet Configuration Portail Azure, sur ~4. Pour plus d’informations, consultez Modifier la version du runtime.
  2. Définissez LinuxFxVersion, à l’aide de l’interface de ligne de commande (CLI) <Language>|<LanguageVersion>sur , en fonction du langage utilisé. Pour plus d’informations, consultez Utilisation de LinuxFxVersion pour les applications de fonction Linux. Par exemple, pour effectuer une mise à jour vers .NET 6, vous pouvez définir LinuxFxVersion sur et FUNCTIONS_EXTENSION_VERSION sur dotnet|6.0 ~4.

Pour plus d’informations, consultez Versions du runtime Functions.

Obtenir la liste des langues prises en charge par la version du runtime

Consultez la liste des langues prises en charge par la version du runtime.

Mettre à jour le paramètre de version de langue de l’application de fonction après la mise à jour du code

  • PowerShell : Dans le Portail Azure, définissez le PowerShell Core versionfichier . Pour plus d’informations, consultez Modifier la version de PowerShell.
  • Python : définissez linuxFxVersion sur python|3.x. Pour plus d’informations, consultez Changer la version de Python.
  • Java : spécifiez la version langue en utilisant -DjavaVersion comme 11 ou 17. Pour plus d’informations, consultez Spécifier la version du déploiement.
  • Nœud, JavaScript : Pour Windows, définissez le paramètre ~16d’application WEBSITE_NODE_DEFAULT_VERSION sur . Pour Linux, définissez linuxFxVersion sur node|16 à l’aide de l’interface CLI. Pour plus d’informations, consultez Définir la version du nœud.

Utilisation des proxys Azure Functions

La prise en charge des proxys est rétablie dans la version 4.x, vous pouvez donc mettre à niveau correctement vos applications de fonction vers la dernière version du runtime. Toutefois, nous vous recommandons de passer à l’intégration de vos applications de fonction à Azure Gestion des API dès que possible. Gestion des API vous permet de tirer parti d’un ensemble plus complet de fonctionnalités pour définir, sécuriser, gérer et monétiser vos API basées sur Functions. Pour plus d’informations, consultez Comment migrer vers APIM et Intégrer Functions à APIM en utilisant Visual Studio.

Obtenir la liste de toutes les applications Azure Functions qui utilisent la version runtime 1.x, 2.x ou 3.x

  1. Accédez à votre application de fonction sur le Portail Azure.
  2. Sélectionnez Diagnostiquer et résoudre les problèmes pour ouvrir les diagnostics Azure Functions.
  3. Dans la barre de recherche , tapez Mise à jour du langage de l’application Function ou de la version Runtime pour l’exécuter directement.
  4. Dans le rapport de diagnostic, faites défiler vers le bas et sélectionnez Répertorier tous les détails de l’affichage de l’application>de fonction.
  5. Définissez les filtres de recherche et sélectionnez Afficher pour obtenir la liste des applications de fonctions dans l’abonnement actuel.

Vous pouvez également utiliser des appels d’API REST App Service (GetConfiguration) pour déterminer cela. LinuxFxVersion et WindowsFxVersion fournissez les informations de version.

Déplacer une application .NET Framework 4.6.1 du runtime Functions v1 vers v4

.NET Framework 4.6.1 a atteint sa fin de vie, les applications doivent donc être mises à niveau vers .NET Framework 4.8. Dans Functions v4, vous pouvez exécuter une application .NET Framework 4.8 en mode out-of-process. Pour plus d’informations, consultez le guide du processus isolé.

Une application de fonction migrée ne démarre pas ou ne rencontre pas de problèmes d’exécution

  • Pour les applications .NET, n’oubliez pas de mettre à jour le code vers .NET 6 avant de générer et de déployer.
  • Vérifiez la version runtime de l’application dans le Portail Azure.
  • Pour les applications Windows, vous devez également définir netFrameworkVersion à l’aide de l’interface CLI ou de PowerShell.
  • Vérifiez que vous utilisez les offres groupées d’extensions 2.x ou ultérieures, comme recommandé. La version 4.x du runtime Functions nécessite les versions 2.x ou 3.0.0.
  • La journalisation dans le Stockage Azure avec AzureWebJobsDashboard n’est plus prise en charge dans 4.x. Utilisez Plutôt Application Insights pour la surveillance.
  • Si vous recevez un message indiquant que le runtime Azure Functions est inaccessible et que vous partagez des comptes de stockage, consultez les considérations relatives à l’ID d’hôte.
  • Azure Functions 4.x ne prend pas en charge Node.js 10 et 12, Python 3.6 et PowerShell 6. Pour plus d’informations, consultez les versions linguistiques prises en charge pour le runtime v4.
  • Pour les fonctions Python, s’il existe des erreurs liées à la collision de module et au module introuvables, essayez de définir la valeur PYTHON_ISOLATE_WORKER_DEPENDENCIES 1 dans les paramètres de l’application.
  • Passez en revue la migration d’applications de fonction existantes.
  • Pour les problèmes d’exécution, à partir de l’option Diagnostiquer et résoudre les problèmes dans le Portail Azure, recherchez l’application de fonction en panne ou signalez des erreurs et examinez le rapport de diagnostic pour les messages d’erreur et les solutions. Passez également en revue le détecteur Vérifications de configuration de la fonction pour vérifier que la configuration est correcte.
  • Passez en revue les problèmes de blog lors de la mise à niveau d’applications de fonction Azure vers V4 pour obtenir des conseils de dépannage supplémentaires.

Contactez-nous pour obtenir de l’aide

Pour toute demande ou assistance, créez une demande de support ou posez une question au support de la communauté Azure. Vous pouvez également soumettre des commentaires sur les produits à la communauté de commentaires Azure.