Inscrire des extensions de liaison Azure Functions

À partir de Azure Functions version 2.x, le runtime des fonctions comprend uniquement les déclencheurs HTTP et minuteur par défaut. Autres déclencheurs et liaisons sont disponibles sous forme de packages distincts.

Les applications des fonctions de la bibliothèque de classes .NET utilisent des liaisons installées dans le projet en tant que packages NuGet. Les offres groupées d’extensions permettent aux applications de fonctions non-.NET d’utiliser les mêmes liaisons sans avoir à gérer l’infrastructure .NET.

Le tableau suivant indique quand et comment vous inscrivez des liaisons.

Environnement de développement Inscription
dans Functions 1.x
Inscription
dans Functions 2.x ou version ultérieure
Portail Azure Automatique Automatique*
Langages non-.NET Automatique Utiliser des offres groupées d’extensions (recommandé) ou installer des extensions de manière explicite
Bibliothèque de classes C# avec Visual Studio Utiliser les outils NuGet Utiliser les outils NuGet
Bibliothèque de classes C# avec Visual Studio Code N/A Utiliser CLI .NET Core

Le portail * utilise des bundles d’extensions, y compris un script C#.

Bundles d’extensions

Par défaut, les bundles d’extensions sont utilisés par les applications de fonction Java, JavaScript, PowerShell, Python, C# et Custom Handler pour utiliser des extensions de liaison. Dans les cas où les bundles d’extensions ne peuvent pas être utilisés, vous pouvez installer explicitement des extensions de liaison avec votre projet d’application de fonction. Les bundles d’extensions sont pris en charge pour la version 2.x et la version ultérieure du runtime Functions.

Les bundles d’extensions permettent d’ajouter un jeu prédéfini d’extensions de liaison compatible à 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 non-.NET Functions à partir d’outils ou dans le portail, les bundles d’extensions sont déjà activés dans le fichier host.json de l’application.

Une référence de bundle d’extensions est définie par la section extensionBundle d’un fichier host.json comme suit :

{
    "version": "2.0",
    "extensionBundle": {
        "id": "Microsoft.Azure.Functions.ExtensionBundle",
        "version": "[4.0.0, 5.0.0)"
    }
}

Les propriétés suivantes sont disponibles dans extensionBundle :

Propriété Description
id Espace de noms pour les offres groupées d’extension Microsoft Azure Functions.
version Plage de versions de l’offre groupée à installer. Le runtime Functions récupère toujours la version autorisée maximale définie par la plage ou l’intervalle de version. Par exemple, une version plage de valeurs autorise [4.0.0, 5.0.0) toutes les versions de bundle de 4.0.0 jusqu’à 5.0.0. Pour plus d’informations, consultez la notation d’intervalle de spécification de plages de versions.

Le tableau suivant liste les plages de versions actuellement disponibles des offres groupées par défaut Microsoft.Azure.Functions.ExtensionBundle et fournit des liens vers les extensions qu’elles incluent.

Version de l’offre groupée Version dans host.json Extensions incluses
1.x [1.*, 2.0.0) Consultez les extensions.json utilisées pour générer l’offre groupée.
2.x [2.*, 3.0.0) Consultez les extensions.json utilisées pour générer l’offre groupée.
3.x [3.3.0, 4.0.0) Consultez les extensions.json utilisées pour générer l’offre groupée.
4.x [4.0.0, 5.0.0) Consultez les extensions.json utilisées pour générer l’offre groupée.

Notes

Même si host.json prend en charge les plages personnalisées pour version, vous devez utiliser une valeur de plage de versions indiquée dans ce tableau, par exemple [4.0.0, 5.0.0).

Installer des extensions de manière explicite

Pour les projets de bibliothèque de classes C# compilés (processus Worker in-process et isolé), vous installez les packages NuGet pour les extensions dont vous avez besoin comme vous le feriez normalement. Pour obtenir des exemples, consultez le guide du développeur Visual Studio Code ou le guide du développeur Visual Studio.

Pour les langages non-.NET et script C#, lorsque vous ne pouvez pas utiliser de bundles d’extensions, vous devez installer manuellement les extensions de liaison requises dans votre projet local. Le moyen le plus simple consiste à utiliser Azure Functions Core Tools. Pour plus d’informations, consultez la section func extensions install.

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

Étapes suivantes