2013-11-14 14 views
7

Azureテーブルストレージへのバッチ挿入を実行しようとすると、私はStorageExceptionCloudTable.ExecuteBatch()に取得しています:スロー予期しない応答コード(..)

TableBatchOperation batchOperation = new TableBatchOperation(); 

foreach (var entity in entities) 
{ 
    batchOperation.InsertOrReplace(entity); 
} 

table.ExecuteBatch(batchOperation); 

例外:

Microsoft.WindowsAzure.Storage.StorageException:予期しない応答 オペレーションコード:6 at Microsoft.WindowsAzure.Storage.Core.Executor.Executor.ExecuteSync [T](StorageCommandBase1Windowsの場合:e:¥projects¥azure-sdk-for-net¥microsoft-azure-api¥Services¥Storage¥Lib¥DotNetCommon¥Core¥Executor¥Executor.cs: 737 atの場合、cmdlet、IRetryPolicyポリシー、OperationContext operationContext) 電子内 Microsoft.WindowsAzure.Storage.Table.TableBatchOperation.Execute(CloudTableClient クライアント、文字列tableNameの、TableRequestOptionsのrequestOptions、 のOperationContextのOperationContext):\プロジェクト\ Servicesの\紺碧-SDK-のためのネット\マイクロソフト-紺碧-API \ストレージ\ Libの\ DotNetCommon \表\ TableBatchOperation.cs:ライン Microsoft.WindowsAzure.Storage.Table.CloudTable.ExecuteBatch(TableBatchOperation バッチ、TableRequestOptionsのrequestOptions、のOperationContext のOperationContext)の中 e:¥projects¥azure-sdk-for-net¥microsoft-azure-api¥Services¥Storage¥Lib¥DotNetCommon¥Table¥CloudTable.cs:行 165 at Library.Modules.Cloud.TableStorage.StorageTableRepository エンティティ)

TableOperationを使用して、通常、これらのエンティティの挿入は私に何の問題も与えません。

インターネットまたはMSDNの参照のどこにでもこの例外が見つかりません。

+3

バッチ内のすべてのエンティティが同じPartitionKeyを持っているかどうか、2)エンティティがバッチ内で複数回繰り返されていないかどうかを確認できますか?エラーメッセージに基づいて、バッチ内の7番目のエンティティを確認します。そのエンティティは問題を引き起こしています。 –

答えて

14

RowKeyの値が重複していたためです。 TableBatchOperation.InsertOrReplace(entities)であっても、行キーは依然として一意である必要があります。

Unexpected response code for operation : 6は、リストの6番目の要素を参照していました。私の意見では、Azure SDKのエラーコードが誤解を招くことがあります。

+2

エラーコードは本当に間違いです。私は[このエラーをデバッグするためにFiddlerを使用するガイド]をまとめました(http://amadeusw.com/debugging/debugging-azure-with-fiddler/)。意味のあるエラー情報を見つけるために使用します。私の場合、私が送ったデータは大きすぎました。 –

+0

リンクが壊れています:( –

+0

@AmadeuszWieczorek確認できます。リンクが壊れています。 – sharptooth

関連する問題