テーブルストレージを使用しているアプリケーションで監査証跡を実装することを検討しています。テーブルストレージを使用した監査証跡の設計
特定の顧客のすべての操作と、その顧客のエンティティのすべての操作を記録できる必要があります。
私の最初の推測では、各顧客(Audits_CustomerXXX)のテーブルを作成し、エンティティIDと行キーのパーティションキーとして(DateTime.Max.Ticks - DateTime.Now.Ticks).ToString( "D19")値。これは私の質問が特定のエンティティに起こったときにうまくいくのですか?たとえば、購入の監査ではPartitionKey = "Purchases/12345"、RowKeyにはタイムスタンプが入ります。
しかし、顧客全体からの鳥瞰図が必要な場合は、パーティション間で行キーによる並べ替えをクエリできますか?または、異なるパーティションキーでデータを保持するセカンダリテーブルを作成する方がよいでしょうか?また、(DateTime.Max.Ticks - DateTime.Now.Ticks).ToString( "D19")を使用すると、同じパーティション内の2つのアクションが同じティックで起きたときにエラーを防ぐ方法があります。 )。
おかげ
エンティティIDの意味を説明できますか? –
ええ、それは "pictures/1234"や "purchase/5221"のような文字列IDです –
もう1つ質問:鳥瞰図に関しては、特定の日付/時間範囲の間のすべてのアクションを見たいと思うでしょう。あれは正しいですか? –