Langages pris en charge dans Azure Functions

Cet article explique les niveaux de support offerts pour votre langage préféré lors de l’utilisation d’Azure Functions. Il décrit également les stratégies de création de fonctions à l’aide de langages non pris en charge en mode natif.

Il y a deux niveaux de prise en charge :

  • Disposition générale (GA) : entièrement pris en charge et approuvé pour la production.
  • Préversion : pas encore pris en charge, mais le statut de disponibilité générale est prévu à l’avenir.

Langues par version du runtime

Le tableau suivant présente les versions .NET prises en charge par Azure Functions. Sélectionnez votre langage de développement préféré en haut de l’article.

La version prise en charge de .NET dépend à la fois de la version de votre runtime Functions et du modèle d'exécution que vous avez choisi :

Le code de votre fonction s’exécute dans un processus Worker .NET distinct. Utilisez avec les versions prises en charge de .NET et .NET Framework. Pour plus d’informations, consultez Développer les fonctions de processus Worker isolé .NET.

Version prise en charge Niveau de support Date de fin de vie attendue de la communauté
.NET 8 GA 10 novembre 2026
.NET 7 GA 14 mai 2024
.NET 6 GA 12 novembre 2024
.NET Framework 4.8 GA Consulter la stratégie

Pour plus d’informations, consultez Guide pour l’exécution d’Azure Functions C# dans un processus Worker isolé.

Le tableau suivant présente les versions des langages prises en charge pour les fonctions Java. Sélectionnez votre langage de développement préféré en haut de l’article.

Version prise en charge Niveau de support Date de fin de vie attendue de la communauté
Java 21 (Linux uniquement) Aperçu Septembre 2028
Java 17 GA Septembre 2027
Java 11 GA Septembre 2027
Java 8 GA 30 novembre 2026

Pour plus d’informations, consultez le Guide des développeurs Java pour Azure Functions.

Le tableau suivant présente les versions des langages prises en charge pour les fonctions Node.js. Sélectionnez votre langage de développement préféré en haut de l’article.

Version prise en charge Niveau de support Date de fin de vie attendue de la communauté
Node.js 20 GA 30 avril 2026
Node.js 18 GA 30 avril 2025
Node.js 16 GA 11 septembre 2023*
Node.js 14 GA 30 avril 2023*

*Prise en charge sur Functions prolongée jusqu’au 30 juin 2024.

TypeScript est pris en charge via la transpilation vers JavaScript. Pour plus d’informations, consultez le Guide des développeurs Node.js sur Azure Functions.

Le tableau suivant présente les versions des langages prises en charge pour les fonctions PowerShell. Sélectionnez votre langage de développement préféré en haut de l’article.

Version prise en charge Niveau de support Date de fin de vie attendue de la communauté
PowerShell 7.2 GA 8 novembre 2024

Pour plus d'informations, consultez le Guide des développeurs PowerShell sur Azure Functions.

Le tableau suivant présente les versions des langages prises en charge pour les fonctions Python. Sélectionnez votre langage de développement préféré en haut de l’article.

Version prise en charge Niveau de support Date de fin de vie attendue de la communauté
Python 3.11 GA Octobre 2027
Python 3.10 GA Octobre 2026
Python 3.9 GA Octobre 2025
Python 3.8 GA Octobre 2024

Pour plus d'informations, consultez le Guide des développeurs Python sur Azure Functions.

Pour plus d’informations sur les modifications prévues sur la prise en charge des langages, consultez la Feuille de route Azure.

Détails de la prise en charge des langues

Le tableau suivant répertorie les langues prises en charge par les fonctions qui peuvent s’exécuter sur Linux ou Windows. Il indique également si votre langue prend en charge la modification dans le Portail Azure. Le langage est basé sur l’option Pile d’exécution que vous choisissez lors de la création de votre application de fonction dans le Portail Azure. Cela est identique à l'option --worker-runtime lors de l’utilisation de la commande func init dans Azure Functions Core Tools.

Langage Pile d’exécution Linux Windows Modification dans le portail
C# (modèle Worker isolé) .NET
C# (modèle in-process) .NET
Script C# .NET
JavaScript Node.js
Python Python X
Java Java
PowerShell PowerShell Core
TypeScript Node.js
Go/Rust/other Gestionnaires personnalisés

Pour plus d’informations sur la prise en charge du système d’exploitation et du langage, consultez Prise en charge du système d’exploitation/du runtime.

Lorsque la modification dans le portail n’est pas disponible, vous devez développer vos fonctions localement.

Prise en charge de la version principale de langage

Azure Functions offre une garantie de prise en charge des versions principales des langages de programmation pris en charge. Pour la plupart des langages, des versions mineures ou correctives sont publiées pour mettre à jour une version principale prise en charge. Exemples de versions mineures ou correctives : Python 3.9.1 et Node 14.17. Une fois les nouvelles versions mineures des langages pris en charge disponibles, les versions mineures utilisées par vos applications de fonction sont automatiquement mises à niveau vers ces versions mineures ou correctives plus récentes.

Notes

Étant donné qu’Azure Functions peut supprimer la prise en charge des anciennes versions mineures à tout moment après lorsqu’une nouvelle version mineure devient disponible, vous ne devez pas lier vos applications de fonction à une version mineure/corrective spécifique d’un langage de programmation.

Gestionnaires personnalisés

Les gestionnaires personnalisés sont des serveurs web légers qui reçoivent des événements de l’hôte Azure Functions. Tout langage qui prend en charge les primitives HTTP peut implémenter un gestionnaire personnalisé. Cela signifie que les gestionnaires personnalisés peuvent être utilisés pour créer des fonctions dans des langages qui ne sont pas officiellement prises en charge. Pour en savoir plus, consultez Gestionnaires personnalisés Azure Functions.

Extensibilité de langage

À compter de la version 2.x, le runtime est conçu pour offrir une extensibilité de langage. Les langages JavaScript et Java dans le runtime 2.x sont générés avec cette extensibilité.

Étapes suivantes