0

データを Azure テーブル ストレージにバッチ処理しているときに奇妙なエラーが発生します。

+350.000 文字列の配列があります。各文字列を連続して保存します。最初の +50.000 レコードまで正常に動作し、次に Azure テーブル ストレージが「無効な入力タイプ」と「ステータス コード 400」で例外をスローし始めます。

バッチ処理を行うときは、単純な再試行ポリシーを使用して、一度に 10 個のアイテムをバッチ処理します。

_TableContext.RetryPolicy = RetryPolicies.Retry(4, new TimeSpan(0, 0, 30));
_TableContext.SaveChanges(System.Data.Services.Client.SaveChangesOptions.Batch);

非同期も並列処理もありません。Dev 環境で問題なく動作します。

うーん...

4

2 に答える 2

3

Azure テーブル ストレージには、行ごとに 1 MB の物理的な制限があり、文字列フィールドごとに 64 Kb (キロバイト) の制限があります。

また、文字列をパーティション キーまたは行キーとして格納する場合、一部の文字は使用できません。

ソース: http://msdn.microsoft.com/en-us/library/dd179338.aspx

于 2012-05-03T11:39:35.677 に答える
1

エラーは私自身の間違いでした。行とパーティションキーの同じセットでバッチを保存しようとしました。私がそれを変更したとき、それは完全に機能しました。

アズールFTW!:)

于 2012-05-04T23:53:15.013 に答える