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

適用対象: NoSQL

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

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

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

注意

Azure Functions トリガーでは、最新バージョンの変更フィード モードが使用されます。現時点では、Azure Cosmos DB のAzure Functions トリガーは、NoSQL 用 API での使用のみがサポートされています。

必要条件

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

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

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

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

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

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

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

次のステップ

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