適用対象: NoSQL
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 統合にわたってサポートされるようになりました。
- Visual Studio ユーザー向けの Visual Studio 拡張機能
- Visual Studio Code ユーザー向けの Visual Studio Code 拡張機能
- クロスプラットフォーム IDE に依存しないエクスペリエンスのためのコア CLI ツール
ローカルでトリガーを実行する
Azure Cosmos DB エミュレーターを使用して Azure 関数をローカルで実行して、Azure サブスクリプションやコストを発生させずに、サーバーレスイベントベースのフローを作成および開発できます。
次のステップ
以下の記事では、変更フィードについて引き続き詳しく知ることができます。