Azure基本

Azure FunctionsのAPIをGETメソッドに変更しPostmanによって呼び出してみた

Azure FunctionsのAPIは、POSTメソッドだけでなくGETメソッドも利用することができる。

今回は、以前作成したプログラムのPOSTメソッドをGETメソッドに変更し、Postmanによる呼び出しもしてみたので、その内容を共有する。

前提条件

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

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

また、以下の記事のPostmanをインストール済であること。

POSTメソッドでリクエストされるAzure FunctionsのAPIをPostmanによって呼び出してみたAzure App Serviceを利用せずに、HTTPトリガーによって呼び出されるAzure Functionsの動作確認を行うには、...

やってみたこと

  1. 作成したサンプルプログラム(App Service側)の内容
  2. 作成したサンプルプログラム(Azure Functions側)の内容
  3. API Management上のAzure Functionsの変更
  4. 作成したサンプルプログラムの実行結果(API Management利用後)
  5. ローカル環境でのAzure FunctionsのAPI呼出し
  6. Azure環境でのAzure FunctionsのAPI呼出し

作成したサンプルプログラム(App Service側)の内容

作成したサンプルプログラム(App Service側)の構成は以下の通り。
サンプルプログラムの構成(AppService)
なお、上記の赤枠は、前提条件のプログラムから変更したプログラムである。

コントローラクラスの内容は以下の通りで、callFunctionApi関数の呼び出しがGETメソッドで、リクエストパラメータを渡す形に変更している。

その他のソースコード内容は、以下のサイトを参照のこと。
https://github.com/purin-it/azure/tree/master/azure-functions-postman-get/demoAzureApp



作成したサンプルプログラム(Azure Functions側)の内容

作成したサンプルプログラム(Azure Functions側)の構成は以下の通り。
サンプルプログラムの構成(AzureFunctions)
なお、上記の赤枠は、前提条件のプログラムから変更したプログラムである。

ハンドラークラスの内容は以下の通りで、callFunctionApi関数の呼び出しがGETメソッドで、リクエストパラメータを受け取る形に変更している。

その他のソースコード内容は、以下のサイトを参照のこと。
https://github.com/purin-it/azure/tree/master/azure-functions-postman-get/demoAzureFunc



API Management上のAzure Functionsの変更

Azure FunctionsのAPIを、POSTメソッドからGETメソッドに変更したため、API Management上のAzure Functionsを削除し再作成する。その手順は、以下の通り。

1) 作成済のAzure FunctionsのAPIメニューを選択し、「Delete(削除)」を選択する。
APIManagementの変更_1

2) APIを削除してよいかどうかの確認ダイアログが表示されるため、「Yes」ボタンを押下する。
APIManagementの変更_2

3) 削除が完了し、以下のように右上に完了メッセージが表示されることが確認できる。
APIManagementの変更_3

また、作成手順については、以下の記事の「Azure FunctionsのAPI Managementへの追加」を参照のこと。

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



作成したサンプルプログラムの実行結果(API Management利用後)

作成したサンプルプログラムの実行結果(API Management利用後)は、以下の通り。

1) Azure App ServiceのURL「https://azureappdemoservice.azurewebsites.net/」とアクセスすると以下の画面が表示されるため、「ファンクション呼び出し」ボタンを押下する。
サンプルプログラムの実行結果_1_1

なお、上記URLは、下記Azure App ServiceのURLから確認できる。
サンプルプログラムの実行結果_1_2

2) callFunctionApi関数が呼び出され、以下の画面に遷移する。その後「戻る」ボタンを押下する。
サンプルプログラムの実行結果_2

3) 以下のように、初期表示画面に戻ることが確認できる。
サンプルプログラムの実行結果_3_1

なお、App Serviceのapplication.propertiesを以下の設定にした状態で、Azure上に、Azure App Service, Azure Functionsのプログラムをデプロイし、実行している。
サンプルプログラムの実行結果_3_2

また、Azure App Serviceにデプロイする過程は、以下の記事の「App ServiceへのSpring Bootを利用したJavaアプリケーションのデプロイ」を参照のこと。

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

さらに、Azure Functionsにデプロイする過程は、以下の記事の「Azure FunctionsへのSpring Bootを利用したJavaアプリケーションのデプロイ」を参照のこと。

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



ローカル環境での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を起動し、ローカル環境で実行する場合のAzure Functions APIのURL「http://localhost:7071/api/callFunctionApi」を指定する。
ローカル環境でのAPI実行_2

3) Query Paramsにリクエストパラメータの値を指定する。そうすると、URLにもリクエストパラメータが追加されることが確認できる。この状態で「Send」ボタンを押下する。
ローカル環境でのAPI実行_3

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



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 FunctionsのAPIは、POSTメソッドだけでなくGETメソッドも利用でき、Postmanによる呼び出しも行える。