2012-04-09 11 views
2

Azureフレームワークの調査を始めました。灰色のテーブル、ブロブ

テーブルストレージに行を作成するとします。

BLOBストレージにボブを作成するあなたは、その後、

はあなたがちょうどあなたが作成したブロブを表に追加するもの関連付けることができますいくつかの方法はありますか?

また、関連するエントリがある場合はいつでもSQL Azureを使用する必要がありますか?

BlobにいくつかのVideoを保存したいが、BlobにリンクしたいSQL Azureテーブルにいくつかの行が残っていると言うと、残念です。

このリンクを使用できないため、ビデオをSQL Azureに何らかの形で保存する必要がありますか?

答えて

2

blobに格納されたファイルの一意のファイル名を空白のテーブル行に格納できます。 リビルドが少し遅くなり、SQL Azureがblobに比べて少し高価になるため、完全なビデオ/バイナリコンテンツをAzureテーブルまたはSQL Azureテーブルに格納することはお勧めしません。

+0

SQL Azureテーブルの行に何らかの相関Azureテーブルへ? – TheWommies

+0

はい、同じです –

-1

Azureは、メタデータをブロブに関連付けることをサポートしています。メタデータは基本的に名前と値のペアです。以下のビデオが役に立つかもしれません:http://www.bestechvideos.com/2009/04/15/mix09-windows-azure-storage

したがって、テーブルをBLOBに関連付ける代わりに、メタデータを使用して逆にすることができます。

+1

ようこそ!スタックオーバーフローへようこそ!あなたの答えを投稿していただきありがとうございます![Self-Promotionに関するよくある質問](http://stackoverflow.com/faq#promotion)を必ずお読みください。注意深くまた、自分のサイト/製品にリンクするたびに免責条項を掲示することが必須*であることにも注意してください。 –

0

blobファイル名を慎重に選択するだけで、Azureテーブルでそのファイル名を参照できるようにする必要があります。ただし、どのように名前を付けるか注意してください。タイムスタンプに基づいた名前と参照をテーブルに入れてジャンプするのは非常に魅力的です。しかし、Azureを使用すると、明らかに高度に並列化できるスケーラブルなソリューションを使用していることになります。

一意性を保証するために、ファイル名にGUIDを使用します。また、アイテムが追加されたときに基づいてストレージを簡単に参照できるようにするには、GUIDの後にYYYYMMDDHHMMSSの日付フォーマットを追加します。

0

私は、自分が担当しているプロジェクトの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)のハッシュを使用します。

関連する問題