Azure Cosmos DB と Azure Functions を使用したサーバーレスなイベントベースのアーキテクチャ

適用対象: SQL API

Azure Functions には、変更フィードに接続する最も簡単な方法が用意されています。 Azure Cosmos コンテナーの変更フィード内の新しい各イベントに基づいて自動的にトリガーされる小規模な対応型 Azure 関数を作成できます。

Cosmos DB 用 Azure Functions トリガーと連携するサーバーレスなイベントベースの関数

Cosmos DB 用 Azure Functions トリガーを使用すると、ワーカー インフラストラクチャを維持することなく、変更フィード プロセッサのスケーリングと信頼性の高いイベント検出機能を活用できます。 イベントソーシング パイプラインの残りの部分を気にすることなく、自分の Azure 関数のロジックにのみ専念しましょう。 トリガーは、その他の Azure Functions のバインドと組み合わせることもできます。

注意

現在、Cosmos DB 用 Azure Functions トリガーは、Core (SQL) API と共に使用する場合にのみサポートされます。

必要条件

サーバーレスなイベントベースのフローを実装するには、以下が必要です。

  • 監視対象コンテナー:監視対象コンテナーは監視されている Azure Cosmos コンテナーであり、そこには、変更フィードの生成元となるデータが含まれています。 監視対象コンテナーに対する挿入と更新が、コンテナーの変更フィードに反映されます。
  • リース コンテナー:リース コンテナーは、複数の動的なサーバーレス Azure 関数インスタンス全体で状態を維持し、動的スケーリングを可能にします。 このリース コンテナーは、Cosmos DB 用 Azure Functions トリガーによって、手動または自動で作成できます。 リース コンテナーを自動的に作成するには、構成CreateLeaseCollectionIfNotExists フラグを設定します。 パーティション分割されたリース コンテナーには、/id パーティション キー定義が必要です。

Cosmos DB 用 Azure Functions トリガーを作成する

Cosmos DB 用 Azure Functions トリガーを使用した Azure 関数の作成は、すべての Azure Functions IDE および CLI 統合にわたってサポートされるようになりました。

ローカルでトリガーを実行する

Azure Cosmos DB Emulator を使用して自分の Azure 関数をローカルで実行し、Azure サブスクリプションまたはコストの発生なしで、サーバーレスなイベントベースのフローを作成および開発できます。

クラウドでライブ シナリオをテストしたい場合は、Cosmos DB を無料で試すことができます。クレジット カードや Azure サブスクリプションは必要ありません。

次のステップ

以下の記事では、変更フィードについて引き続き詳しく知ることができます。