Je crée une application de fonction V2 et souhaite utiliser Swagger/Open API pour les documents, mais cela n'est pas encore pris en charge dans le portail Azure pour les fonctions V2.
Des suggestions sur la manière dont je peux utiliser Swagger avec les fonctions V2 dans VSTS pour créer les documents sur chaque build?
TL; DR - utilisez le package NuGet pour rendre le document Open API et l'interface utilisateur Swagger via Azure Functions.
—-
Microsoft n'a pas encore officiellement commencé à prendre en charge Open API (ou Swagger). Mais il existe actuellement un paquet NuGet axé sur la communauté:
https://www.nuget.org/packages/Aliencube.AzureFunctions.Extensions.OpenApi/
Et voici le billet de blog pour cela:
https://devkimchi.com/2019/02/02/introducing-swagger-ui-on-Azure-functions/
Fondamentalement, son utilisation est similaire à celle des décorateurs utilisant Swashbuckle. Et il prend en charge les fonctions Azure Functions V1 et V2.
Accusé de réception: je suis le propriétaire du package NuGet.
Pouvez-vous laisser votre fonction V2 s'exécuter sur la v1 du moteur d'exécution en commençant par une application de fonction vierge?
Les documents MSDN pour Créez une définition OpenAPI pour une fonction (avec une date de 11/2018 assez intéressante), par exemple:
Par défaut, l'application de fonction que vous créez utilise la version 2.x du fichier runtime. Vous devez redéfinir la version d’exécution sur 1.x avant que créez votre fonction.
Mais on ne peut pas simplement déplacer le réglage sur 1:
Pour épingler votre application de fonction au runtime de la version 1.x, choisissez ~ 1 sous Version d'exécution. Ce commutateur est désactivé lorsque vous avez des fonctions dans votre application.
Ce qui implique de créer l'application Fonction, de la publier/créer, de la définir sur V1, puis de définir une fonction avant d'ajouter une application de fonction.