AF绑定到CosmosDb

时间:2018-07-25 13:49:45

标签: azure-functions azure-cosmosdb azure-cosmosdb-mongoapi

我正在尝试将数据从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”附近失败。分区键路径   必须仅包含有效字符且不包含尾部斜杠或   通配符。“]}

对我在做什么错有任何想法吗?

2 个答案:

答案 0 :(得分:2)

您尝试过例如PartitionKey =“ / SomeKey”或PartitionKey =“'SomeKey'”?

答案 1 :(得分:0)

解决方案是在键的开头添加一个斜杠,例如 PartitionKey = "/SomeKey"。然后分区键就像一个路径,因此它在开头需要“/”。你没有使用斜杠,所以上面的错误。