Azure functions Azure函数输出绑定到Cosmos DB错误,带有PartitionKey
我正在尝试使用CosmosDB输出绑定运行Azure函数 触发器是HTTP,数据库是用SQLAPI定义的 这是我的密码:Azure functions Azure函数输出绑定到Cosmos DB错误,带有PartitionKey,azure-functions,azure-cosmosdb,Azure Functions,Azure Cosmosdb,我正在尝试使用CosmosDB输出绑定运行Azure函数 触发器是HTTP,数据库是用SQLAPI定义的 这是我的密码: [FunctionName("ProcessOrderCosmos")] public static void Run( [HttpTrigger(AuthorizationLevel.Anonymous, "post", Route = null)] HttpRequest req, [CosmosDB(
[FunctionName("ProcessOrderCosmos")]
public static void Run(
[HttpTrigger(AuthorizationLevel.Anonymous, "post", Route = null)] HttpRequest req,
[CosmosDB(
databaseName: "myDB",
collectionName: "items",
ConnectionStringSetting = "CosmosDBConnection")]out Item item,
ILogger log)
{
string requestBody = new StreamReader(req.Body).ReadToEndAsync().Result;
item=JsonConvert.DeserializeObject<Item>(requestBody);
}
[FunctionName(“ProcessOrderCosmos”)]
公共静态无效运行(
[HttpTrigger(AuthorizationLevel.Anonymous,“post”,Route=null)]HttpRequest请求,
[CosmosDB(
数据库名称:“myDB”,
collectionName:“项目”,
ConnectionStringSetting=“CosmosDBConnection”)]输出项,
ILogger日志)
{
string requestBody=new StreamReader(req.Body).ReadToEndAsync().Result;
item=JsonConvert.DeserializeObject(requestBody);
}
但是,该函数显示以下错误:
从文档中提取的分区键与标题中指定的分区键不匹配
有什么问题?
因为我使用的是绑定,所以我无法控制发送到服务器的负载,也无法访问头
我缺少什么?由于您使用分区键创建了集合,因此您需要
项
对象包含此字段。因此,如果您选择了id
作为分区键,则您的模型需要包含该属性。因此,对于遇到此问题的任何其他人:
问题是由于partitionKey是日期字段引起的。
在这个过程中的某个地方,日期的系列化产生了Cosmos没有预料到的结果,这就是问题的根源
我用不同的字段作为分区键重新创建了容器,现在一切都好了。模型包括分区键。问题是别的,我只是把答案贴出来了。