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 9 | GA | 12 mai 2026 |
.NET 8 | GA | 10 novembre 2026 |
.NET Framework 4.8.1 | GA | Consulter la stratégie |
.NET 6 a été précédemment pris en charge sur le modèle de travail isolé, mais a atteint la fin du support officiel le 12 novembre 2024.
.NET 7 était précédemment pris en charge sur le modèle de Worker isolé, mais il a atteint la fin du support officiel le 14 mai 2024.
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 22 | Aperçu | 30 avril 2027 |
Node.js 20 | GA | 30 avril 2026 |
Node.js 18 | GA | 30 avril 2025 |
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.4 | GA | 10 novembre 2026 |
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é.
Prise en charge du pilote ODBC
Ce tableau indique la prise en charge du pilote ODBC pour vos fonctions Python :
Version du pilote | Version Python |
---|---|
Pilote ODBC 18 | ≥ Python 3.11 |
Pilote ODBC 17 | ≤ Python 3.10 |