Azure App Serviceを利用せずに、HTTPトリガーによって呼び出されるAzure Functionsの動作確認を行うには、PostmanというWeb APIのテストを行うためのツールを利用すると便利である。
今回は、POSTメソッドでリクエストされるAzure FunctionsのAPIをPostmanによって呼び出してみたので、その手順を共有する。
前提条件
下記記事の実装が完了していること。
やってみたこと
Postmanのインストール
Postmanは、Webサイトから無料で手に入れることができる。その手順は、以下の通り。
1) 下記ページにアクセスし、「Download the App」を選択する。
https://www.postman.com/downloads/
2) Windowsの32bit用と64bit用が選択できるので、64bit用のツールを選択する。
3) ダウンロードが完了すると、左下にダウンロードファイルが表示されることが確認できる。
4) ダウンロードしたインスロールファイルを、C:\work\postmanにコピーし、コピーした「Postman-win64-8.4.0-Setup.exe」をダブルクリックする。
5) インストールが開始され、「Installing Postman…」と表示される。
6) インストールが完了すると、以下のPostmanの画面が起動する。Web APIのテストを行う画面を表示するには、Release Notes右横の「+」を押下する。
7) 以下のように、Web APIのテストを行うための画面が表示されることが確認できる。なお、画面を閉じるには、右上の×ボタンを押下する。
また、インストール後には、デスクトップに以下の「Postman」というショートカットができている。このショートカットをダブルクリックすると、上記画面が起動する。
ローカル環境でのAzure FunctionsのAPI呼出し
Postmanを利用して、ローカル環境でのAzure FunctionsのAPI呼出し内容を設定し実行する手順は、以下の通り。
1) Azure Functionsをローカルで実行するため、「mvn azure-functions:run」を実行する。そうすると、ローカル環境で実行する場合、Azure Functions APIのURLは「http://localhost:7071/api/callFunctionApi」であることが確認できる。
なお、Azure Functionsのデプロイ・実行手順は、以下の記事の「Spring Bootを利用したJavaアプリケーションのローカル環境での実行」を参照のこと。
2) Postmanを起動する。なお、「GET」のプルダウンの中身を確認すると、以下のように、「POST」等さまざまなメソッドが選択できることが確認できる。
3) メソッドを「POST」に変更し、ローカル環境で実行する場合のAzure Functions APIのURL「http://localhost:7071/api/callFunctionApi」を指定した後で、「Body」タブを選択する。「Body」タブを選択するのは、リクエストボディの値を設定するためである。
4) 初期状態では、Bodyに「none」が指定されていて、リクエストボディが指定できない。これから、リクエストボディをJSON形式で指定するため、「raw」を選択する。
5)「raw」を選択すると、「Text」等のリクエストボディの指定形式が選択できる。今回は「JSON」を選択する。
6) JSON形式でリクエストボディを指定後、「Send」ボタンを押下する。なお、下記では、画面からファンクションを呼び出したときと同じ結果になるように、リクエストボディのパラメータを指定している。
7) 指定したAPIが呼び出され、以下のように、レスポンスが画面下に表示されることが確認できる。
なお、上記レスポンスは、画面からファンクションを呼び出したときの以下の画面の呼出結果と同じ内容になっている。
Azure環境でのAzure FunctionsのAPI呼出し
Azure環境でのAzure FunctionsやAPI ManagementのAPIも、Postmanを利用して実行できる。その結果は、以下の通り。
1) Azure環境でのAzure FunctionsのAPIを呼び出すには、以下のようにメソッド・URL・リクエストボディを設定し、「Send」ボタンを押下する。
2) 指定したAPIが呼び出され、以下のように、レスポンスが画面下に表示されることが確認できる。
なお、このとき指定するAPIの「https://azurefuncdemoapp.azurewebsites.net」の部分は、Azure Portal上のAzure FunctionsのURLから確認できる。
3) Azure環境でのAPI Management経由でAzure FunctionsのAPIを呼び出すには、以下のようにメソッド・URL・リクエストボディを設定し、「Send」ボタンを押下する。
4) 指定したAPIが呼び出され、以下のように、レスポンスが画面下に表示されることが確認できる。
なお、このとき指定するAPIの「https://azureapipurinit.azure-api.net/azureFuncDemoApp」の部分は、Azure Portal上のAPI Managementの「BaseURL」から確認できる。
要点まとめ
- Azure App Serviceを利用せずに、HTTPトリガーによって呼び出されるAzure Functionsの動作確認を行うには、Postmanを利用すると便利である。Postmanを利用すると、リクエストボディの値を設定した上で、APIの呼び出しが行える。