Azure Functions からイベント サービスおよびメッセージング サービスに接続する
Azure Functions は、クラウド コンピューティング サービスとして、さまざまな Azure サービス間でデータを移動するために頻繁に使用されます。 コードを他のサービスに簡単に接続できるように、Functions は、一連のバインド拡張機能を実装して、これらのサービスに接続できます。 詳細については、「Azure Functions でのトリガーとバインドの概念」を参照してください。
定義により、Azure Functions の実行はステートレスです。 よりステートフルな方法でコードをサービスに接続する必要がある場合は、代わりに Durable Functions または Azure Logic Apps を使用することを検討してください。
データの使用と出力を容易にするためにトリガーとバインドが用意されています。 サービス接続をより詳細に制御する必要がある場合や、サービス SDK によって提供されるクライアント ライブラリを使用する方が快適な場合があります。 そのような場合は、関数の実行で SDK のクライアント インスタンスを使用して、通常と同様にサービスにアクセスできます。 クライアントを直接使用する場合は、スケールとパフォーマンスがクライアント接続に及ぼす影響に注意する必要があります。 詳細については、静的クライアントの使用に関するガイダンスに関するトピックをご覧ください。
関数の実行からサービス バインディングによって使用されるクライアント インスタンスを取得することはできません。
この記事の残りの部分では、Functions でサポートされている特定の Azure サービスとコードを統合するための具体的なガイダンスを説明します。
Event Grid
Event Grid は、"パブリッシャー" 内で発生したイベントについてユーザーに通知する HTTP 要求を送信する Azure サービスです。 "パブリッシャー" は、イベントを生成するサービスまたはリソースです。 たとえば、Azure Blob Storage アカウントはパブリッシャーであり、BLOB のアップロードまたは削除がイベントです。 一部の Azure サービスには、Event Grid にイベントを発行するサポートが組み込まれています。
イベント "ハンドラー" は、イベントを受信して処理します。 Azure Functions は、Event Grid イベントを処理する組み込みサポートを備えている Azure サービスの 1 つです。 Functions によって提供される Event Grid トリガーにより、Event Grid からイベントを受信したときに関数が呼び出されます。 同様の出力バインドを使って、関数から Event Grid カスタム トピックにイベントを送信できます。
また、HTTP トリガーを使って Event Grid イベントを処理することもできます。 詳しくは、「HTTP エンドポイントへのイベントの受信」をご覧ください。 Event Grid トリガーを HTTP トリガーで使用することをお勧めします。
Azure Functions は、トリガーとバインドを使用して Azure Event Grid との組み込みの統合を提供します。
Event Grid トリガーとバインドを構成してローカルで評価する方法については、Azure Functions で Event Grid トリガーとバインドを操作する方法に関するトピックをご覧ください
Event Grid トリガーと出力バインドの定義と例の詳細については、次のいずれかの参照記事をご覧ください。
- Azure Functions における Azure Event Grid のバインド
- Azure Functions の Azure Event Grid トリガー
- Azure Functions の Azure Event Grid 出力バインディング
次のステップ
Event Grid と Functions の詳細については、次の記事をご覧ください。