12

Azureテーブルストレージにレコードを挿入しようとしたときに、「プロパティ値がテーブルサービスで許可されている値よりも大きい」という例外が発生します。

次は私のテーブル構造、文字列PartitionKey、String RowKey、string Id、文字列サイト、文字列名、byte []コンテンツ、
publicDateTimecreatedtimeです。

そして、コンテンツフィールドに83755バイトの配列(82KB)を保存しようとしていますが、他のフィールドは最大35文字です。

紺碧のストレージテーブルの行の最大サイズを教えてもらえますか?

以下は私が参照したURLです..そこに記載されている行は最大1MBを持つことができます。しかし、私のものは100KBを超えません。

リンク

ありがとう、

ゴピナス

4

3 に答える 3

15

はい、各行は最大 1MB です。ただし、各バイト配列プロパティまたは文字列プロパティは 64K に制限されています。各データ型の詳細については、この MSDN リファレンスを参照してください。

于 2010-11-16T14:15:26.510 に答える
5

Azure フレームワーク用の Lokad.Cloud (オープン ソース)を確認することをお勧めします。大きなエンティティを960KBの制限でテーブル ストレージにシリアル化するための本番環境でテスト済みのコードがあります(プロパティの分割と管理はフレームワークによって処理されます)。

FatEntities wikiの使用例は次のとおりです

// TODO: change your connection string here
var providers = Standalone.CreateProviders(
   "DefaultEndpointsProtocol=https;AccountName=;AccountKey=");

// 'books' is the name of the table
var books = new CloudTable<Book>(providers.TableStorage, "books");

var potterBook = new Book 
   { Author = "J. K. Rowling", Title = "Harry Potter" };

var poemsBook = new Book 
   { Author = "John Keats", Title = "Complete Poems" };

// inserting (or updating record in Table Storage)
books.Upsert(new[]
    {
        new CloudEntity<Book> {
            PartitionKey = "UK", RowRey = "potter", Value = potterBook},
        new CloudEntity<Book> {
            PartitionKey = "UK", RowRey = "poems", Value = poemsBook}
    });

// reading from table
foreach(var entity in books.Get())
{
    Console.WriteLine("{0} by {1} in partition '{2}' and rowkey '{3}'",
        entity.Value.Title, entity.Value.Author, 
        entity.PartitionKey, entity.RowRey);
}

Console.WriteLine("Press enter to exit.");
Console.ReadLine();
于 2010-11-17T08:35:17.240 に答える