我正在尝试将数据从Azure函数输出到CosmosDb(MongoDb),我具有以下绑定设置:
[DocumentDB("mydatabase", "mycollection",
ConnectionStringSetting = "CosmosDBConnection",
CreateIfNotExists= true,
PartitionKey = "SomeKey")]
IAsyncCollector<MyEntity> mongoBinding,
在我的代码中,我执行以下操作:
var entity = new MyEntity() {SomeKey="X1CLX1010000002", Data = "somedata"};
await mongoBinding.AddAsync(entity);
public class MyEntity {
public string SomeKey {get; set;}
public string Data {get; set;}
}
结果错误:
{“错误”:[“分区键组件定义路径'SomeKey' 无法接受,在位置“ 0”附近失败。分区键路径 必须仅包含有效字符且不包含尾部斜杠或 通配符。“]}
对我在做什么错有任何想法吗?
答案 0 :(得分:2)
您尝试过例如PartitionKey =“ / SomeKey”或PartitionKey =“'SomeKey'”?
答案 1 :(得分:0)
解决方案是在键的开头添加一个斜杠,例如 PartitionKey = "/SomeKey"
。然后分区键就像一个路径,因此它在开头需要“/”。你没有使用斜杠,所以上面的错误。