我有一个导入过程,它从旧源获取数据并将其放入表存储中,这允许我重新初始化表存储并根据需要重新开始。它在更新到适用于 .NET 的 10 月 Azure SDK (VS2012) 之前工作。现在,它在插入一些实体后失败(它似乎有所不同,导入的数据本质上不是静态的)。相同类型的第一个实体始终插入成功。分区键是唯一的,每个分区键的 RowKey 是一个空字符串(非空)。它在 SaveChangesWithRetries() 上特别失败。新 SDK 中是否有任何与我之前所做的不兼容的更改?

更新

我一直在通过查询表存储数据库来检查成功插入行的实际 XML。我注意到的一件事是,实体上的可空 int 列在为空时具有 SqlType nvarchar(max),当它不为空时具有 int。这是故意的吗?

最佳答案

所以,我已经能够在一致的基础上成功重现错误,结果证明这是 2012 年 10 月 SDK 中引入的一个非常讨厌的错误。

任何以空格结尾的字符串都会导致抛出异常。在所有字符串输入上调用 Trim() 已经解决了这个问题。

关于azure - "One of the request inputs is not valid."导致表存储(模拟器)插入失败,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13104874/

10-10 03:01