このブラウザーはサポートされなくなりました。
Microsoft Edge にアップグレードすると、最新の機能、セキュリティ更新プログラム、およびテクニカル サポートを利用できます。
Azure Cosmos DB において、異なるコンテナー間の参照整合性を管理する最適な方法は何ですか?
アプリケーションが 1 つのコンテナーに対する変更を作成するときは、参照先コンテナーの変更が重複していることを確認します。
コンテナーに対して行われた変更を定期的に検索し、それらの変更を参照先のコンテナーにレプリケートする Azure Cosmos DB 関数を作成します。
Azure Cosmos DB の Azure 関数トリガーを使用して、変更フィード プロセッサを使用して参照先のコンテナーを更新する
次のシナリオを考えてみましょう。アプリケーション チームは、さまざまな IOT (モノのインターネット) デバイスによって 1 分ごとに生成されるデバイス メトリックを保存するアプリケーションを作成しました。 チームは、データを収集する 2 つのエンティティ(デバイスと各デバイスによって生成されたデバイス メトリック)を特定しました。 チームはこれらの異なるエンティティに対して 2 つのコンテナーを作成する予定でしたが、データ エンジニアは、両方のエンティティを 1 つのコンテナーに配置することを提案しています。 チームは何をすべきですか?
deviceid プロパティと残りのデバイス データを含むドキュメントを作成し、devicemetricsid プロパティとすべてのメトリック データと共に各メトリック コレクションをドキュメントに埋め込む
deviceid プロパティと残りのデバイス データを含むドキュメントを作成し、type というプロパティを追加して、値 device を指定します。 収集された各メトリック データを devicemetricsid プロパティとすべてのメトリック データを含むドキュメントを作成し、type というプロパティを追加して、値 devicemetrics を指定する
type
device
devicemetrics
deviceid プロパティとデバイス データの残りの部分を含むドキュメントを作成し、 type というプロパティを追加し、 device値を指定します。 収集された各メトリック データを devicemetricsid および deviceid プロパティとすべてのメトリック データと共に含むドキュメントを作成し、type というプロパティを追加して、値 devicemetrics を指定する
次のシナリオを考えてみましょう。開発者チームは、さまざまな IOT デバイスによって 1 分ごとに生成されるデバイス メトリックを保存するアプリケーションを作成しました。 チームは、データを収集する 2 つのエンティティ (デバイスと、各デバイスによって生成されたデバイス メトリック データ) を特定しました。 チームはこれらの異なるエンティティに対して 2 つのコンテナーを作成する予定でしたが、データ エンジニアは、両方のエンティティを 1 つのコンテナーに配置することを提案しています。 チームは、デバイスの一般的なデータとデバイスごとのメトリック コレクションの数を返すことができるようにしたいと考えています。 コンテナー内でこの情報を追跡するにはどうすればよいですか?
クエリで GROUP BY パラメーターを使用し、集計カウントを使用してデバイスごとのデバイス メトリック コレクションの数を返します。
GROUP BY
metricscollectioncountというデバイス ドキュメントに新しいプロパティを追加し、現在の数のメトリック コレクション ドキュメントで更新します。 アプリケーションまたは Azure 関数が新しいメトリック コレクションを追加する場合は、 metricscollectioncount プロパティにも 1 を追加します。
metricscollectioncount
metricscollectioncountというデバイス ドキュメントに新しいプロパティを追加し、現在の数のメトリック コレクション ドキュメントで更新します。 アプリケーションまたは Azure 関数が新しいメトリック コレクションを追加する場合は、トランザクション バッチ内の metricscollectioncount プロパティにも 1 を追加します。
作業を確認する前にすべての問題に回答する必要があります。
このページはお役に立ちましたか?
このトピックについてサポートが必要ですか?
このトピックの意図を把握したり、理解を深めたりするために Ask Learn を使ってみませんか?