Javascript azure函数http触发器输入cosmos db文档
指的是 还有这个 它具体指的是Javascript azure函数http触发器输入cosmos db文档,javascript,azure-cosmosdb,azure-functions,Javascript,Azure Cosmosdb,Azure Functions,指的是 还有这个 它具体指的是 "id" : "{queueTrigger_payload_property}", "partitionKey": "{queueTrigger_payload_property}", 如果我有一个javascript函数,一个http触发器,它在主体中提供一个JSON数据包。如何使用Azure cosmos db绑定获取文档,并使用绑定将http json值传递给cosmos db查询 我期望类似的情况: "sqlQuery": "SELECT * fro
"id" : "{queueTrigger_payload_property}",
"partitionKey": "{queueTrigger_payload_property}",
如果我有一个javascript函数,一个http触发器,它在主体中提供一个JSON数据包。如何使用Azure cosmos db绑定获取文档,并使用绑定将http json值传递给cosmos db查询
我期望类似的情况:
"sqlQuery": "SELECT * from c where c.departmentId = {departmentId}",
除了{departmentId}
应该是httptrigger
(named req)的属性之外
因此function.json如下所示:
{
"authLevel": "function",
"type": "httpTrigger",
"direction": "in",
"name": "req"
}, {
"type": "documentDB",
"name": "inputDocument",
"databaseName": "mydb",
"collectionName": "things",
"partitionKey": "/things/thingid",
"connection": "my_DOCUMENTDB",
"direction": "in",
"sqlQuery": "Select * from things s where s.thingid={httpTrigger_body_thingid}"
}
javascript中的http触发器在函数中看起来是这样的,它的工作原理是:
req.body.thingid
,但是绑定到输入会导致错误,“属性未定义”,因此如何使用http触发器输入从json数据包中获取值,以在第一个输入中查询cosmos db,都在同一个函数中?它应该是{thingid}
:
{
“类型”:“documentDB”,
“名称”:“输入文档”,
“数据库名称”:“mydb”,
“collectionName”:“物品”,
“连接”:“我的文档数据库”,
“方向”:“在”,
“sqlQuery”:“从s中选择*,其中s.thingid={thingid}”
}
对于像这样的帖子请求
{
"thingid": "293a2fc3-799f-4669-92d3-3413f1afa51e"
}
它将在
context.bindings.inputDocument
(javascript数组)中交付文档。很有用,但是如果我使用select*from things s s其中s.thingid={thingid},它将永远找不到记录。该语句似乎与文档的id字段紧密绑定,因为如果在文档中仅用“id”的值替换{thingid},那么文档就会被定位。另外,对于第二个示例“id”:“{thingid}”仅在id是键时有效。我的分区在“thingid”上。我刚刚测试了这两个分区,它对我的收藏有效。第二个选项实际上仅适用于id
。我将删除它。是的,如果主体如下{“thingid”:1231},那么它将找不到记录,其中1231不在引号中。使用引号时效果很好。为了继续前进,我会承认失败