HTTP 要求を使用した Azure 関数の実行

完了

HTTP 要求とは、ほとんどのプラットフォームおよびデバイスで一般的に実行される操作です。 辞書から単語を調べる要求や、地域の天気を取得する要求など、ユーザーは、常に HTTP 要求を送信します。 Azure Functions では、HTTP 要求の受信時にロジックを迅速に作成できます。

このユニットでは、HTTP トリガーを使用して関数を作成および呼び出す方法について学習します。 また、HTTP トリガーに使用できるカスタマイズ オプションについても説明します。

HTTP トリガーとは

HTTP トリガーとは、HTTP 要求を受け取ったときにコードを実行するトリガーです。 HTTP トリガーには、次のような多数の機能やカスタマイズがあります。

  • キーを指定し、承認されたアクセスを提供する。
  • サポートされる HTTP 動詞を制限する。
  • 呼び出し元にデータを返す。
  • クエリ文字列パラメーターまたは要求本文を介して、データを受け取る。
  • 関数 URL を修正するために URL ルート テンプレートをサポートする。

HTTP トリガーを作成するときは、トリガーの名前を指定し、承認レベルを選ぶ必要があります。

HTTP トリガーの承認レベルとは

HTTP トリガーの承認レベルとは、受信 HTTP 要求に承認のための API キーが必要であるかどうかを示すフラグです。

承認レベルは、次のとおり 3 つあります。

  1. 関数
  2. 匿名
  3. [Admin]

関数および管理者レベルは、"キー" に基づきます。 HTTP 要求を送信するには、承認のためのキーを指定する必要があります。 キーには、関数ホスト の 2 種類があります。 2 つのキーの違いは、そのスコープです。 関数キーは、関数に固有です。 ホスト キーは、関数アプリ内のすべての関数に適用されます。 使用する承認レベルが関数に設定されている場合、"関数" または "ホスト" キーのいずれかを使用できます。 使用する承認レベルが管理者に設定されている場合、"ホスト" キーを指定する必要があります。

重要

ホスト キーでは関数アプリへの昇格されたアクセス権が提供されるため、それらを安全に転送して格納する必要があります。

匿名レベルは、承認が必要ないことを意味します。 この演習では、匿名認可レベルを使用します。

HTTP トリガーの作成方法

HTTP トリガーは、タイマー トリガーと同様に Azure portal で作成できます。 Azure 関数内で、事前に定義されているトリガーの種類の一覧から [HTTP トリガー] を選択し、実行するロジックを入力して、特定の HTTP 動詞の使用を制限するなどのカスタマイズを行います。

理解しておく必要がある重要な設定の 1 つに、[要求パラメーター名] があります。 この設定は、受信 HTTP 要求の情報を含むパラメーター名を表す文字列です。 既定のパラメーター名は req です。

HTTP トリガーを起動する方法

HTTP トリガーを起動するには、使用している関数用に URL に HTTP 要求を送信します。 この URL を取得するには、使用している関数のコード ページに進み、[関数の URL の取得] リンクを選択します。

Screenshot of the Azure portal showing a Functions App pane with the app's Get function URL button highlighted.

ご利用の関数の URL を取得したら、HTTP 要求を送信できます。 この関数でデータを受信する場合は、クエリ文字列パラメーターを使用するか、要求本文を介してデータを指定できることに注意してください。

HTTP トリガーは、その関数 URL への HTTP 要求を受信したときに実行されます。 HTTP トリガーを使用すると、データを受信し、ロジックを実行し、必要に応じてデータを呼び出し元に戻すことができます。