Partager via


Inscrire des extensions de liaison Azure Functions

Le runtime Azure Functions exécute en mode natif les déclencheurs HTTP et de minuteur. Les comportements des autres déclencheurs et liaisons pris en charge sont implémentés dans des packages d’extension distincts.

Les projets qui utilisent une bibliothèque de classes .NET utilisent des extensions de liaison installées dans le projet en tant que packages NuGet.

Les ensembles d’extensions permettent aux applications autres que -.NET d’utiliser des extensions de liaison sans devoir interagir avec l’infrastructure .NET.

Extension bundles

Les ensembles d’extensions ajoutent un jeu prédéfini d’extensions de liaison compatibles à votre application de fonction. Les offres groupées d’extensions sont associées à une version. Chaque version contient un ensemble spécifique d’extensions de liaison qui sont vérifiées pour fonctionner ensemble. Sélectionnez une version d’offre groupée en fonction des extensions dont vous avez besoin dans votre application.

Lorsque vous créez un projet Azure Functions à partir d’un modèle non-.NET, les bundles d’extensions sont déjà activés dans le fichier de l’application host.json .

Si possible, utilisez la dernière plage de versions pour obtenir des performances d’application optimales et accéder aux dernières fonctionnalités. Pour en savoir plus sur les offres groupées d’extensions, consultez les bundles d’extensions Azure Functions.

Dans le cas peu probable où vous ne pouvez pas utiliser un bundle d’extensions, vous devez installer explicitement des extensions.

Installer des extensions de manière explicite

Pour les projets qui utilisent une bibliothèque de classes C# compilée, vous installez les packages NuGet pour les extensions dont vous avez besoin comme vous le feriez normalement dans vos applications. Pour découvrir plus d’informations, consultez le Guide du développeur Visual Studio Code ou le Guide du développeur Visual Studio.

Veillez à obtenir le package approprié, car l’espace de noms diffère selon le modèle d’exécution :

Execution model Namespace
Processus Worker isolé Microsoft.Azure.Functions.Worker.Extensions.*
In-process Microsoft.Azure.WebJobs.Extensions.*

Azure Functions fournit des offres groupées d’extensions pour les projets non-.NET. Ces bundles contiennent un ensemble complet d’extensions de liaison qui sont vérifiées pour être compatibles. Si vous rencontrez des problèmes de compatibilité entre deux extensions de liaison ou plus, passez en revue les combinaisons compatibles des versions d’extension. Pour connaître les combinaisons prises en charge d’extensions de liaison, consultez la page de publication des ensembles d’extensions.

Il existe des cas où vous ne pouvez pas utiliser des ensembles d’extensions, par exemple quand vous devez utiliser la version préliminaire particulière d’une extension spécifique. Dans ces rares cas, vous devez installer manuellement toutes les extensions de liaison requises dans un fichier projet C# qui référence les extensions spécifiques requises par votre application.

Pour installer manuellement les extensions de liaison :

  1. Supprimez la référence du bundle d'extension de votre fichier host.json.

  2. Utilisez la func extensions install commande dans Azure Functions Core Tools pour générer le fichier requis extensions.csproj à la racine de votre projet local.

    Pour le développement exclusivement via le portail, vous devez créer manuellement un fichier extensions.csproj à la racine de votre application de fonctions dans Azure. Pour en savoir plus, consultez Installer manuellement des extensions.

  3. Modifiez le extensions.csproj fichier en ajoutant explicitement un PackageReference élément pour chaque extension de liaison et version spécifiques requises par votre application.

  4. Validez la fonctionnalité de votre application localement, puis redéployez votre projet, y compris extensions.csproj, dans votre application de fonction dans Azure.

Dès que possible, vous devriez reconfigurer votre application pour utiliser le dernier bundle d'extensions supporté.