0

我将一批实体保存到 Azure 表存储中,对于某些实体,它完美地保存到同一张表的表存储中。但是一些记录,表存储在下面抛出异常。

ErrorMessage:处理此请求时发生错误。,InnerExceptionMessage: OutOfRangeInput 48:其中一个请求输入超出范围。RequestId:f72230dd-55ea-4bc9-92b5-ca576af64324 时间:2013-01-05T07:16:19.4614968Z

是否有任何 1 遇到过上述错误。

-马亨德

4

3 回答 3

2

添加到@knightpfhor 答案:

您的错误消息中的“ 48 ”表示您的批次中的实体 #48 存在问题。除了上述可能的罪魁祸首外,请检查该实体的 PartitionKey 值。批次中的所有实体必须具有相同的 PartitionKey 值。还要检查您的批次中是否包含两次相同的实体。一个实体(即唯一的 PartitionKey/RowKey 组合)在一个批次中只能出现一次。

使用 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 table rest api 查询 winjs windows store 应用程序中的实体时,我收到此错误并在搜索错误时点击此处。对我来说,发生这种情况是因为在更改代码以形成存储模拟器的 xhr 请求时出现了愚蠢的错误。

计算授权标头的代码中的错误给出了授权标头,SharedKey devstoreaccount1/devstoreaccount1: <computed key>而它应该是SharedKey devstoreaccount1: <computed key>. 由于存储帐户名称中的“/”字符,引发了此错误。

旁注:在授权标头计算期间,stringToSign 具有 CanonicalResource。用于查询日志表中所有实体以获取 azure 模拟存储的 CanonicalResource 是/devstoreaccount1/devstoreaccount1/logs()azure myaccount 存储帐户所在的位置/myaccount/logs()。请注意存储帐户重复两次以进行模拟存储。

于 2013-05-20T11:54:42.943 回答