【发布时间】:2017-12-05 00:30:52
【问题描述】:
我正在尝试使用输出绑定将文档保存到 CosmosDB 中的集合。
数据库是使用 MongoDB API 访问创建的。
我注意到了一些问题:
- 带有输出绑定的 JavaScript 中的 Azure 函数似乎不起作用。这是代码:
module.exports = function (context, req) {
if (req.body) {
context.bindings.outputObject = JSON.stringify({
name: "Mike P"
}); // tried outputObjectOut as well, no difference
context.res = {
// status: 200, /* Defaults to 200 */
body: "Hello " + (req.query.name || req.body.name)
};
}
else {
context.res = {
status: 400,
body: "Please pass a name on the query string or in the request body"
};
}
context.done();
};
JavaScript 代码的 function.json 与下面给出的相同。
- 我在 C# 中编写了等效代码并注意到集合已被破坏(显然是在保存文档时被绑定破坏)。
public static HttpResponseMessage Run(HttpRequestMessage req,
out object outputObject, TraceWriter log)
{
outputObject = new {
name = "Mike P"
};
log.Info("test");
return req.CreateResponse(HttpStatusCode.OK);
}
这里是function.json
{
"type": "documentDB",
"name": "outputObject",
"databaseName": "newexp",
"collectionName": "Test",
"createIfNotExists": true,
"connection": "newexp_DOCUMENTDB",
"direction": "out"
}
无法再在 Azure 控制台中查询该集合。通过 3T 之类的 MongoDB 客户端进行查询也失败了。
我希望此代码能够正常工作,并且文档会显示在数据库的集合中。但相反,我看到该系列变得无法使用。这是一个错误还是我做错了什么?任何帮助或指针表示赞赏。
【问题讨论】:
标签: azure azure-cosmosdb azure-functions