Azure 関数の最適なトリガーを決定する

完了

Azure Functions 内の個々の関数は、何かによって実行を指示されない限り動作しません。 たとえば、予約時間の前に顧客にリマインダーをテキスト メッセージで送信する関数を作成できます。 実行のタイミングを関数に指示しなければ、顧客にメッセージは届きません。

このユニットでは、トリガーの概要を説明し、最も一般的な種類のトリガーについて確認します。また、バインドを使用してトリガーを関数に接続します。

トリガーとは

トリガーは、特定の関数を定義するオブジェクトです。 たとえば、10 分ごとに関数を実行する必要がある場合は、タイマー トリガーを使用できます。

各関数には厳密に 1 つのトリガーしか関連付けられません。 複数の条件下で実行される 1 つのロジックを実行する場合は、同じコア関数コードを共有する複数の関数を作成する必要があります。

このモジュールでは、タイマーHTTPBLOB という 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 つの関数アプリにグループ化できます。 関数アプリ内のすべての関数で、同じリソース、アプリ設定、デプロイを共有します。

次の演習では、タイマー トリガーを使用して、スケジュールに従って関数を実行します。