Visual Studio Codeを使用してAzure API ManagementからFunctions APIをテストしてみた
はじめに
OpenAPI仕様をベースに設計したAPIをAzure API Managementにインポートした後、実際にAPIを処理するバックエンドを用意してテストするにはAzure Portalを使うにしてもなかなか大変だと思います。
今回Windows10の端末にてVisual Studio Codeを用いてAzure API Managementに定義したAPIからAzure Functions用のAPIを作成し、作成したAPIをAzure FunctionsにデプロイしてAzure API Managementのテスト機能にてAPIをテスト送信する方法を紹介します。
事前準備
↓
Functions APIを作成
↓
Functionsへデプロイ
↓
Functions APIをテスト
事前準備
-
Visual Studio Code (VS code)をインストール
VS Codeをインストールした後にVS Code拡張機能であるAPI ManagementとFunctionsをそれぞれインストールします。
API Management拡張機能の以下アイコンをクリックし、 "Extension Settings" をクリックします。
"Scaffold Azure Functions" を有効にします。
- Node.jsをインストール
Node.jsをインストール後にコマンドプロンプトを起動して、以下を実行しAutoRestをインストールします。
AutoRestとはMicrosoftがオープンソースとして公開しているOpenAPI仕様から様々な言語に対応したAPI読み出しライブラリを自動生成するツールです。
npm install -g autorest
- API ManagementにAPIをインポート 今回はAPIがインポートされている状態から開始します。もちろんVS Codeからのインポートも可能です。
Functions APIを作成
ここではAPI Managementに定義したAPIをベースにFunctionsに実装するAPIライブラリを作成します。
対象のAPI(Demo Conference API)にカーソルを合わせて右クリックし、"Scaffold Azure Functions" をクリックします。
自動生成されるFunctions用のAPIライブラリを格納する任意のフォルダ(空でOK)を選択して "Functions Location" をクリックします。
上記実行後に任意のフォルダにFunctions用のAPIライブラリが作成されます。
Functionsへデプロイ
ここでは上記で作成したAPIライブラリをFunctionsを新規作成してデプロイします。
VS Codeのプロジェクトとして先程作成したFunctions用のAPIライブラリが格納されている任意フォルダがOpenになっていることを確認します。
"Deploy to Function App..." のアイコンをクリックします。
"+Create new Function App in Azure..." を選択します。
ロケーションを選択するとFunctionsの生成・デプロイが開始されます。
Functionsの生成・デプロイが完了すると以下の通りAPI Managementにて定義した各APIがFunctionsに関数として作成されていることを確認することができます。
Functions APIをテスト
それでは作成したFunctions APIをテストしてみます。
テスト対象のAPI(GetSpeakers)にカーソルを合わせて右クリックし、"Test operation" をクリックします。
以下のようなAPI画面が表示されます。APIをAPI ManagementからFunctionsにテスト送信するために適切なFunction URIとサブスクリプションIDに置き換える必要があります。
API Management名(apim-test-khigashi)にカーソルを合わせて右クリックし、"Copy Subscription Key" をクリックすることでサブスクリプションIDをコピーすることができます。
テスト対象のAPI関数(GetSpeakers)にカーソルを合わせて右クリックし、"Copy Function Url" をクリックすることでFunction URI(API関数のURI)をコピーすることができます。
上記コピーしたFunction URIとサブスクリプションIDを以下の通り置き換えます。
API画面の "Send Request" をクリックすると右画面にResponse結果が表示され結果を確認することができます。
おわりに
Azure portalを使わずにVS Codeだけで簡単にAPI ManagementのバックエンドとしてFunctionsを配置してAPIテストをすることができました。特に開発者にとってはAPI設計⇒コード自動生成⇒APIテストの一連の流れをVS Codeのみで開発できるのは大変有効なのではないかと思います。またAPI ManagementのVS Code拡張機能はその他にも便利な機能がございます。オープンソースとしてGithub上で日々アップデートされておりますのでチェックしてみてください。
参考
Author And Source
この問題について(Visual Studio Codeを使用してAzure API ManagementからFunctions APIをテストしてみた), 我々は、より多くの情報をここで見つけました https://qiita.com/khigashi/items/01ec28f92f295a8a4999著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .