Javascript Azure函数中未拾取或存在输出绑定

Javascript Azure函数中未拾取或存在输出绑定,javascript,azure,azure-cosmosdb,azure-functions,Javascript,Azure,Azure Cosmosdb,Azure Functions,让我的简单Azure函数将JSON负载转储到CosmosDB中有点困难。以下是所需的设置: [HTTP TRIGGER] -> [JS FUNCTION] -> [INSERT JSON TO COSMOS DB] 我通过web控制台中的集成添加了cosmosDB输出绑定 我知道这部分可以工作,因为它将在运行时自动创建集合 然而,这就是我成功的终点 我在这里包括了我的代码。也许我错过了一些明显的东西: function.json { "bindings": [ {

让我的简单Azure函数将JSON负载转储到CosmosDB中有点困难。以下是所需的设置:

[HTTP TRIGGER] -> [JS FUNCTION] -> [INSERT JSON TO COSMOS DB]
我通过web控制台中的集成添加了cosmosDB输出绑定

我知道这部分可以工作,因为它将在运行时自动创建集合

然而,这就是我成功的终点

我在这里包括了我的代码。也许我错过了一些明显的东西:

function.json

{
  "bindings": [
    {
      "authLevel": "function",
      "type": "httpTrigger",
      "direction": "in",
      "name": "req"
    },
    {
      "type": "http",
      "direction": "out",
      "name": "res"
    },
    {
      "type": "documentDB",
      "name": "outputDocument",
      "databaseName": "outDatabase",
      "collectionName": "MyCollection",
      "createIfNotExists": true,
      "connection": "mydocdb_DOCUMENTDB",
      "direction": "out"
    }
  ],
  "disabled": false
}
index.js

module.exports = function (context, req) {
    context.log('JavaScript HTTP trigger function processed a request.');

    context.bindings.outputDocument = {test: "hello world"}
    context.done();
};
context.log的代码段输出(context) 我还窥探了上下文变量,似乎不存在extund绑定。我希望在这里看到outputDocument:

bindings: 
   { req: 
      { originalUrl: 'https://log-ugly-url-here',
        method: 'POST',
        query: [Object],
        headers: [Object],
        body: [Object],
        params: {},
        rawBody: '{\n    "name": "Azure"\n}' } },
  bind: [Function],
在门户中执行此函数得到200 OK,但在我的cosmosdb集合中没有显示任何值

任何地方都不会显示错误

有人能看到我错过了什么吗

更新 建议我尝试在负载周围使用JSON.stringify(),具体如下:

然而,这并没有解决这个问题。我注意到绑定配置部分下的文档并不推荐这种策略

更新-2017年11月8日(上午10:12)

我在azure中使用Data Explorer刀片查看我的收藏中是否有结果。我决定使用机器人3T Mongo客户端。现在,当我查询集合时,我得到以下错误:

Error: error: {
    "_t" : "OKMongoResponse",
    "ok" : 0,
    "code" : 1,
    "errmsg" : "Unknown server error occurred when processing this request.",
    "$err" : "Unknown server error occurred when processing this request."
}

我试图查看这个cosmosdb的日志,但没有出现错误。

我也遇到了这个问题。不停地敲我的头直到我看到这个:

“此时,Azure Cosmos DB触发器、输入绑定和输出绑定仅适用于SQL API和图形API帐户”


Azure中似乎有一个错误意外损坏了数据库。

我也遇到了这个问题。我不断地捶着头,直到看到这个:

“此时,Azure Cosmos DB触发器、输入绑定和输出绑定仅适用于SQL API和图形API帐户”


Azure中似乎存在意外损坏数据库的错误。

根据本文档中的示例,来自javascript的DocDB绑定似乎需要一个字符串(在
JSON.stringify()中)
)。让我知道这是否有效。感谢您的输入。不幸的是,这也不起作用。我正在使用不同的策略更新原始问题,直到我们解决此问题。您的初始代码对我来说很好,我插入了“hello world”文档。
context.log(context)
是一样的,所以这不是问题。以防万一:文档得到了自动生成的ID,也许你就是看不到?@Mikhail谢谢你尝试。我用我的mongo客户端(Robo 3T)的输出再次更新了这个问题。可能的重复基于此文档中的示例,来自javascript的DocDB绑定可能需要一个字符串(在
JSON.stringify()中)
)。让我知道这是否有效。感谢您的输入。不幸的是,这也不起作用。我正在使用不同的策略更新原始问题,直到我们解决此问题。您的初始代码对我来说很好,我插入了“hello world”文档。
context.log(context)
是一样的,所以这不是问题。以防万一:文档得到了自动生成的ID,也许你只是看不到它?@Mikhail谢谢你尝试一下。我用我的mongo客户端(Robo 3T)的输出再次更新了这个问题。可能是重复的
Error: error: {
    "_t" : "OKMongoResponse",
    "ok" : 0,
    "code" : 1,
    "errmsg" : "Unknown server error occurred when processing this request.",
    "$err" : "Unknown server error occurred when processing this request."
}