0

エンティティのバッチを Azure テーブル ストレージに保存します。一部のエンティティについては、同じテーブルのテーブル ストレージに完全に保存します。ただし、一部のレコード、Table storage は以下の例外をスローしています。

ErrorMessage:この要求の処理中にエラーが発生しました。InnerExceptionMessage: OutOfRangeInput 48: 要求入力の 1 つが範囲外です。RequestId:f72230dd-55ea-4bc9-92b5-ca576af64324 時刻:2013-01-05T07:16:19.4614968Z

上記のエラーに遭遇した人はいますか。

-マヘンダー

4

3 に答える 3

2

@knightpfhorの回答に追加:

エラー メッセージの「48」は、バッチ内のエンティティ #48 に問題があることを示しています。上記の考えられる原因とは別に、そのエンティティの PartitionKey 値を確認してください。バッチ内のすべてのエンティティは、同じ PartitionKey 値を持つ必要があります。また、バッチに同じエンティティを 2 回含めているかどうかも確認してください。エンティティ (つまり、一意の PartitionKey/RowKey の組み合わせ) は、バッチ内で 1 回だけ表示できます。

Fiddler を使用して、ストレージに送信された生データを追跡することもお勧めします。Fiddler を介して要求/応答を追跡すると、エラーを特定するのに役立ちます。

最後に、エンティティ グループ トランザクションの詳細については、次のリンクを確認してください: http://msdn.microsoft.com/en-us/library/windowsazure/dd894038.aspx

于 2013-01-07T05:56:39.223 に答える
0

このエラーは通常、その内容を正確に意味します。一部のレコードには、範囲外であるために保存できない値が含まれているためです。通常、一般的な原因は、無効な値を持つ PartitionKey または RowKey であるか、テーブル ストレージでサポートされていない型を保存しようとしている場合です。使用できるものについては、MSDN のドキュメントを参照してください。

于 2013-01-06T20:36:51.060 に答える
0

Azure テーブル レスト API を使用して winjs Windows ストア アプリでエンティティを照会すると、このエラーが発生し、エラーの検索中にここにヒットしました。私にとって、これは、コードを変更してストレージエミュレーターの xhr 要求を形成するときのばかげた間違いが原因で発生しました。

承認ヘッダーを計算するコードのバグにより、承認ヘッダーがSharedKey devstoreaccount1/devstoreaccount1: <computed key>となるはずだったのに が返されましたSharedKey devstoreaccount1: <computed key>。ストレージ アカウント名に '/' 文字が含まれているため、このエラーが発生しました。

補足: 認証ヘッダーの計算中、stringToSign には CanonicalResource がありますAzureエミュレートされたストレージのログ テーブル内のすべてのエンティティをクエリする CanonicalResource は/devstoreaccount1/devstoreaccount1/logs()、Azure myaccount ストレージ アカウントの場所です/myaccount/logs()。エミュレートされたストレージでは、ストレージ アカウントが 2 回繰り返されることに注意してください。

于 2013-05-20T11:54:42.943 に答える