V2 Functionアプリを作成しており、ドキュメントにSwagger/Open APIを使用したいのですが、Azure Portal for V2 Functionsではまだサポートされていません。
VSTSのV2関数でSwaggerを使用して各ビルドでドキュメントを作成する方法に関する提案はありますか?
TL; DR-NuGetパッケージを使用して、Azure Functionsを介してOpen APIドキュメントとSwagger UIをレンダリングします。
-
マイクロソフトはまだOpen API(またはSwagger)のサポートを正式に開始していません。ただし、現在利用可能なコミュニティ主導のNuGetパッケージがあります。
https://www.nuget.org/packages/Aliencube.AzureFunctions.Extensions.OpenApi/
そして、それはそれのためのブログ投稿です:
https://devkimchi.com/2019/02/02/introducing-swagger-ui-on-Azure-functions/
基本的にその使用法はスワッシュバックルに似ています—デコレータを使用します。また、Azure Functions V1とV2の両方をサポートしています。
謝辞:私はNuGetパッケージの所有者です。
Mediumには、これを実現するための優れたチュートリアルがあります。 Azure Functions V2のSwagger
Swashbuckle
AzureFunctions拡張機能を使用します: https://www.nuget.org/packages/AzureFunctions.Extensions.Swashbuckle/
私はテスト/実装に成功しました-これを行う方法については間違いなく最高の方法の1つです。
最初に空の関数アプリで最初からやり直すことで、V2関数をドロップしてランタイムのv1で実行できますか?
関数のOpenAPI定義を作成する (日付が2018年11月で十分興味深い)のMSDNドキュメントの例:
デフォルトでは、作成する関数アプリはランタイムのバージョン2.xを使用します。関数を作成する前に、ランタイムバージョンを1.xに戻す必要があります。
ただし、設定を1に移動することはできません。
関数アプリをバージョン1.xランタイムに固定するには、ランタイムバージョンで〜1を選択します。アプリに機能がある場合、このスイッチは無効になります。
これは、関数アプリを作成、公開/作成、V1に設定し、関数アプリを追加する前に関数を配置する必要があることを意味します。