Azure基本

POSTメソッドでリクエストされるAzure FunctionsのAPIをPostmanによって呼び出してみた

Azure App Serviceを利用せずに、HTTPトリガーによって呼び出されるAzure Functionsの動作確認を行うには、PostmanというWeb APIのテストを行うためのツールを利用すると便利である。

今回は、POSTメソッドでリクエストされるAzure FunctionsのAPIをPostmanによって呼び出してみたので、その手順を共有する。

前提条件

下記記事の実装が完了していること。

Azure FunctionsをAzure API Management経由で呼び出してみたこれまでは、Azure App ServiceからAzure Functionsを直接呼び出していたが、Azure API Manage...

やってみたこと

  1. Postmanのインストール
  2. ローカル環境でのAzure FunctionsのAPI呼出し
  3. Azure環境でのAzure FunctionsのAPI呼出し

Postmanのインストール

Postmanは、Webサイトから無料で手に入れることができる。その手順は、以下の通り。

1) 下記ページにアクセスし、「Download the App」を選択する。
https://www.postman.com/downloads/

Postmanのインストール_1

2) Windowsの32bit用と64bit用が選択できるので、64bit用のツールを選択する。
Postmanのインストール_2

3) ダウンロードが完了すると、左下にダウンロードファイルが表示されることが確認できる。
Postmanのインストール_3

4) ダウンロードしたインスロールファイルを、C:\work\postmanにコピーし、コピーした「Postman-win64-8.4.0-Setup.exe」をダブルクリックする。
Postmanのインストール_4

5) インストールが開始され、「Installing Postman…」と表示される。
Postmanのインストール_5

6) インストールが完了すると、以下のPostmanの画面が起動する。Web APIのテストを行う画面を表示するには、Release Notes右横の「+」を押下する。
Postmanのインストール_6

7) 以下のように、Web APIのテストを行うための画面が表示されることが確認できる。なお、画面を閉じるには、右上の×ボタンを押下する。
Postmanのインストール_7_1

また、インストール後には、デスクトップに以下の「Postman」というショートカットができている。このショートカットをダブルクリックすると、上記画面が起動する。
Postmanのインストール_7_2



ローカル環境でのAzure FunctionsのAPI呼出し

Postmanを利用して、ローカル環境でのAzure FunctionsのAPI呼出し内容を設定し実行する手順は、以下の通り。

1) Azure Functionsをローカルで実行するため、「mvn azure-functions:run」を実行する。そうすると、ローカル環境で実行する場合、Azure Functions APIのURLは「http://localhost:7071/api/callFunctionApi」であることが確認できる。
ローカル環境でのAPI呼出_1

なお、Azure Functionsのデプロイ・実行手順は、以下の記事の「Spring Bootを利用したJavaアプリケーションのローカル環境での実行」を参照のこと。

Azure Functions上でSpring Bootを利用したJavaアプリケーションを作成してみた前回は、Azure Potal上でAzure Functionsを作成してみたが、今回は、前回作成したAzure FunctionsにS...

2) Postmanを起動する。なお、「GET」のプルダウンの中身を確認すると、以下のように、「POST」等さまざまなメソッドが選択できることが確認できる。
ローカル環境でのAPI呼出_2

3) メソッドを「POST」に変更し、ローカル環境で実行する場合のAzure Functions APIのURL「http://localhost:7071/api/callFunctionApi」を指定した後で、「Body」タブを選択する。「Body」タブを選択するのは、リクエストボディの値を設定するためである。
ローカル環境でのAPI呼出_3

4) 初期状態では、Bodyに「none」が指定されていて、リクエストボディが指定できない。これから、リクエストボディをJSON形式で指定するため、「raw」を選択する。
ローカル環境でのAPI呼出_4

5)「raw」を選択すると、「Text」等のリクエストボディの指定形式が選択できる。今回は「JSON」を選択する。
ローカル環境でのAPI呼出_5

6) JSON形式でリクエストボディを指定後、「Send」ボタンを押下する。なお、下記では、画面からファンクションを呼び出したときと同じ結果になるように、リクエストボディのパラメータを指定している。
ローカル環境でのAPI呼出_6

7) 指定したAPIが呼び出され、以下のように、レスポンスが画面下に表示されることが確認できる。
ローカル環境でのAPI呼出_7_1

なお、上記レスポンスは、画面からファンクションを呼び出したときの以下の画面の呼出結果と同じ内容になっている。
ローカル環境でのAPI呼出_7_2



Azure環境でのAzure FunctionsのAPI呼出し

Azure環境でのAzure FunctionsやAPI ManagementのAPIも、Postmanを利用して実行できる。その結果は、以下の通り。

1) Azure環境でのAzure FunctionsのAPIを呼び出すには、以下のようにメソッド・URL・リクエストボディを設定し、「Send」ボタンを押下する。
Azure環境でのAPI呼出_1

2) 指定したAPIが呼び出され、以下のように、レスポンスが画面下に表示されることが確認できる。
Azure環境でのAPI呼出_2_1

なお、このとき指定するAPIの「https://azurefuncdemoapp.azurewebsites.net」の部分は、Azure Portal上のAzure FunctionsのURLから確認できる。
Azure環境でのAPI呼出_2_2

3) Azure環境でのAPI Management経由でAzure FunctionsのAPIを呼び出すには、以下のようにメソッド・URL・リクエストボディを設定し、「Send」ボタンを押下する。
Azure環境でのAPI呼出_3

4) 指定したAPIが呼び出され、以下のように、レスポンスが画面下に表示されることが確認できる。
Azure環境でのAPI呼出_4_1

なお、このとき指定するAPIの「https://azureapipurinit.azure-api.net/azureFuncDemoApp」の部分は、Azure Portal上のAPI Managementの「BaseURL」から確認できる。
Azure環境でのAPI呼出_4_2

要点まとめ

  • Azure App Serviceを利用せずに、HTTPトリガーによって呼び出されるAzure Functionsの動作確認を行うには、Postmanを利用すると便利である。Postmanを利用すると、リクエストボディの値を設定した上で、APIの呼び出しが行える。