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);

没有异步,没有并行。它在开发环境中运行良好。

呃……

4

2 回答 2

3

Azure 表存储的物理限制为每行 1MB,每个字符串字段的限制为 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 回答