Azure 関数の最適なトリガーを決定する
Azure Functions 内の個々の関数は、何かによって実行を指示されない限り動作しません。 たとえば、予約時間の前に顧客にリマインダーをテキスト メッセージで送信する関数を作成できます。 実行のタイミングを関数に指示しなければ、顧客にメッセージは届きません。
このユニットでは、トリガーの概要を説明し、最も一般的な種類のトリガーについて確認します。また、バインドを使用してトリガーを関数に接続します。
トリガーとは
トリガーは、特定の関数を定義するオブジェクトです。 たとえば、10 分ごとに関数を実行する必要がある場合は、タイマー トリガーを使用できます。
各関数には厳密に 1 つのトリガーしか関連付けられません。 複数の条件下で実行される 1 つのロジックを実行する場合は、同じコア関数コードを共有する複数の関数を作成する必要があります。
このモジュールでは、タイマー、HTTP、BLOB という 3 つのトリガーの種類について説明します。
トリガーの種類
Azure Functions では、さまざまな種類のトリガーがサポートされています。 最も一般的な種類の一部を次に示します。
種類 | 目的 |
---|---|
タイマー | 設定した間隔で関数を実行します |
HTTP | HTTP 要求を受信したときに関数を実行します |
BLOB | Azure Blob Storage 内でファイルがアップロードまたは更新されたときに、関数を実行します |
キュー | Azure Storage キューにメッセージが追加されたときに、関数を実行します |
Azure Cosmos DB | コレクション内のドキュメントが変更されたときに、関数を実行します |
Azure SQL | テーブル内の行が変更されたときに、関数を実行します |
イベント ハブ | イベント ハブで新しいイベントが受信されたときに、関数を実行します |
Event Grid | Event Grid サブスクリプションに基づいて関数を実行します |
バインディングとは
バインディングとは、関数内でのデータへの接続です。 バインドは省略可能であり、入力バインド、出力バインド、または両方にすることができます。 入力バインドを使用すると、関数で別のサービスからデータを読み取ることができます。 出力バインドを使用すると、関数で別のサービスにデータを書き込むことができます。
トリガーとは異なり、関数には複数の入力バインドと出力バインドを使用できます。 バインドをまったく使用しない場合でも、クライアント SDK を使用してサービスにアクセスできます。
関数アプリとは
Azure Functions を使用すると、1 つ以上の関数を 1 つの関数アプリにグループ化できます。 関数アプリ内のすべての関数で、同じリソース、アプリ設定、デプロイを共有します。
次の演習では、タイマー トリガーを使用して、スケジュールに従って関数を実行します。