Azure Functions(Httpトリガー)のパラメーター渡し方

この記事を書いたチーム:frontier

Azure Functionsとは

【エンジニア募集中】フルリモート可◎、売上/従業員数9年連続UP、平均残業8時間、有給取得率90%、年休124日以上 etc.  詳細はこちらから>

Azure Functionsは、マイクロソフトのクラウド「Microsoft Azure」が提供するサービスのひとつで、サーバーレスアーキテクチャを実装するためのサービスです。Azure Functionsを利用してWebAPI、Webサービスを簡単に作ることができます。

Httpトリガーとは

Azure Functionsで作成する処理のことを「関数」と呼びます。トリガーは関数の処理を開始するための条件となるもので、関数には必ず1つのトリガーを定義する必要があります。トリガーの種類について「Http」や「タイマー」など様々なトリガーがサポートされていますが、一番よく使われているのはHttpトリガーです。HTTP トリガーでは、HTTP 要求でAzure Functionを呼び出すことができます。

GETメソッドとPOSTメソッドの違い

「GET」と「POST」は、どちらもHTTPリクエストメソッドですが、WebブラウザからWebサーバに値を渡す際の、値の渡し方が違います。

GETメソッドではURLの末尾に”?”をつけ、その後ろに以下の形式でパラメータを記述することで、データを渡すことが可能です。

  • パラメータ名=値
  • 複数パラメーターの場合”&”で区切る

POSTメソッドではBody部にパラメータが記述され、そのためURLにはパラメータが記述されません。

GETとPOSTのパラメーター渡し方

今回は、HTTPのGET or POSTメソッドを受け、Azure Function(Httpトリガー)でパラメータの値を取得する方法を整理いたします。

◆GETメソッドのパラメーター取得方法

①次の例は、※1のURLに対してHttpリクエスト文字列よりパラメーターdateとidの値を取得します。

※1:URLの例:http://<APP_NAME>.azurewebsites.net/api/HttpTriggerCSharp?date=20221101&id=002

②またHTTP トリガーの入力バインドで省略可能なrouteプロパティを使用すると、このルートをカスタマイズできます。次の例は、route内の 2 つのパラメーターdateとidの値を取得します。

 

この構成を使用すると、次のルートを使用してFunctionのアドレスを指定できるようになります。

URLの例:http://<APP_NAME>.azurewebsites.net/api/products/20221101/002

◆POSTメソッドのパラメーター取得方法

①下記の例は、リクエストボディ(JSON)を解析してパラメーターdateとidの値を取得します。

②また下記の例は、HttpRequestDataのクエリよりパラメーターdateとidの値を取得します。

 

【エンジニア募集中】フルリモートも◎(リモート率85.7%)、平均残業8時間、年休124日以上、有給取得率90% etc. 詳細はこちらから>

Smallitのサービス