编程语言
首页 > 编程语言> > c# – DocumentDB – 输入名称无效.确保提供小于’255’字符的唯一非空字符串

c# – DocumentDB – 输入名称无效.确保提供小于’255’字符的唯一非空字符串

作者:互联网

我试图将数据插入Azure DocumentDb,但是我收到以下错误

The input name "123456" is invalid. Ensure to provide a unique non-empty string less than '255' characters.","The request payload is invalid. Ensure to provide a valid request payload."]}

我使用以下代码:

using (MemoryStream ms = new MemoryStream(Encoding.UTF8.GetBytes(myString)))
                {
                    await client.CreateDocumentAsync(documentCollection.DocumentsLink, Document.LoadFrom<Document>(ms));
                }

此代码似乎是正确的,但我也尝试使用docomentCollection.SelfLink,但也失败了.

已创建数据库和集合,我可以通过azure门户验证这一点,但是没有插入任何数据.

解决方法:

DocumentDB将id视为一个特殊属性,它必须是一个小于255个字符的唯一非空字符串.

在这种情况下,我相信您正在创建一个id为数值的文档:

{
  "id": 123456
}

您需要将id转换为字符串:

{
  "id": "123456"
}

标签:c,azure,azure-cosmosdb
来源: https://codeday.me/bug/20190609/1203101.html