次の方法で共有


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

適用対象: NoSQL

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

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 エミュレーターを使用して Azure 関数をローカルで実行して、Azure サブスクリプションやコストを発生させずに、サーバーレスイベントベースのフローを作成および開発できます。

次のステップ

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