私は、自分が担当しているプロジェクトの1つにこのようなアーキテクチャを実装したことが何度もあります。
テーブルに書き込むエンティティの行キーとして、パーティションキーとしてBlob名を使用し、Blobコンテナ名を使用しました。
また、別の方法で行うこともできます。また、Blob Container NameをPK、Blob NameをRKとして選択することもできます。テーブル内のパーティションが大きすぎないと考えて、ブロブコンテナが混雑している場合は、いくつかのperf問題が発生する可能性があります。
明示的に処理する必要があることが1つありますが、Blob NameとBlob Container Nameには異なる名前付け制約があり、Table Partition KeysとTable Rowキーが異なるため、Blob NameとBlob Container Nameを殺す必要があります。それらをPKとRKとして使用して、エンティティをテーブルに書き込むか、テーブルからエンティティを読み込みます。ここで
あなたはブロブ名sおよびブロブコンテナ名sが表のキーとして使用することをサニタイズする方法である。
のpublic static読み取り専用正規表現DisallowedCharsInTableKeys =新しい正規表現(@ "[\#1%/?\ u0000- \ u001F \ u007F- \ u009F] ");
文字列sanitizedKey = DisallowedCharsInTableKeys.Replace(BlobName、disallowedCharReplacement);この段階で
あなたも消毒キー(パーティションキーをプレフィックスすることができますか同一のサニタイズされた値を持つ異なる無効なキーの誤った衝突を避けるために、元のキー(つまり、Blob Name)のハッシュを使用します。
SQL Azureテーブルの行に何らかの相関Azureテーブルへ? – TheWommies
はい、同じです –