HTTP 要求を使用した Azure 関数の実行
HTTP 要求とは、ほとんどのプラットフォームおよびデバイスで一般的に実行される操作です。 辞書から単語を調べる要求や、地域の天気を取得する要求など、ユーザーは、常に HTTP 要求を送信します。 Azure Functions では、HTTP 要求の受信時にロジックを迅速に作成できます。
このユニットでは、HTTP トリガーを使用して関数を作成および呼び出す方法について学習します。 また、HTTP トリガーに使用できるカスタマイズ オプションについても説明します。
HTTP トリガーとは
HTTP トリガーとは、HTTP 要求を受け取ったときにコードを実行するトリガーです。 HTTP トリガーには、次のような多数の機能やカスタマイズがあります。
- キーを指定し、承認されたアクセスを提供する。
- サポートされる HTTP 動詞を制限する。
- 呼び出し元にデータを返す。
- クエリ文字列パラメーターまたは要求本文を介して、データを受け取る。
- 関数 URL を修正するために URL ルート テンプレートをサポートする。
HTTP トリガーを作成するときは、トリガーの名前を指定し、承認レベルを選ぶ必要があります。
HTTP トリガーの承認レベルとは
HTTP トリガーの承認レベルとは、受信 HTTP 要求に承認のための API キーが必要であるかどうかを示すフラグです。
承認レベルは、次のとおり 3 つあります。
- 関数
- 匿名
- [Admin]
関数および管理者レベルは、"キー" に基づきます。 HTTP 要求を送信するには、承認のためのキーを指定する必要があります。 キーには、関数 と ホスト の 2 種類があります。 2 つのキーの違いは、そのスコープです。 関数キーは、関数に固有です。 ホスト キーは、関数アプリ内のすべての関数に適用されます。 使用する承認レベルが関数に設定されている場合、"関数" または "ホスト" キーのいずれかを使用できます。 使用する承認レベルが管理者に設定されている場合、"ホスト" キーを指定する必要があります。
重要
ホスト キーでは関数アプリへの昇格されたアクセス権が提供されるため、それらを安全に転送して格納する必要があります。
匿名レベルは、承認が必要ないことを意味します。 この演習では、匿名認可レベルを使用します。
HTTP トリガーの作成方法
HTTP トリガーは、タイマー トリガーと同様に Azure portal で作成できます。 Azure 関数内で、事前に定義されているトリガーの種類の一覧から [HTTP トリガー] を選択し、実行するロジックを入力して、特定の HTTP 動詞の使用を制限するなどのカスタマイズを行います。
理解しておく必要がある重要な設定の 1 つに、[要求パラメーター名] があります。 この設定は、受信 HTTP 要求の情報を含むパラメーター名を表す文字列です。 既定のパラメーター名は req です。
HTTP トリガーを起動する方法
HTTP トリガーを起動するには、使用している関数用に URL に HTTP 要求を送信します。 この URL を取得するには、使用している関数のコード ページに進み、[関数の URL の取得] リンクを選択します。
ご利用の関数の URL を取得したら、HTTP 要求を送信できます。 この関数でデータを受信する場合は、クエリ文字列パラメーターを使用するか、要求本文を介してデータを指定できることに注意してください。
HTTP トリガーは、その関数 URL への HTTP 要求を受信したときに実行されます。 HTTP トリガーを使用すると、データを受信し、ロジックを実行し、必要に応じてデータを呼び出し元に戻すことができます。