【问题标题】:Azure Functions Http trigger - DocumentDB out Integration Microsoft.Azure.Documents.Client: Value cannot be nullAzure Functions Http 触发器 - DocumentDB out Integration Microsoft.Azure.Documents.Client:值不能为空
【发布时间】:2017-07-25 01:24:28
【问题描述】:

我正在尝试将一个文档添加到我的 DocumentDB,并将传入的有效负载添加到一个 HttpTriggered Azure 函数。这是function.json的内容:

{
"bindings": [
    {
      "authLevel": "function",
      "type": "httpTrigger",
      "direction": "in",
      "name": "req"
    },
    {
      "type": "http",
      "direction": "out",
      "name": "res"
    },
    {
      "type": "documentDB",
      "name": "email",
      "databaseName": "crawler",
      "collectionName": "SendGrid",
      "createIfNotExists": true,
      "connection": "noho_DOCUMENTDB",
      "direction": "out"
    }
  ],
  "disabled": false
}

这是我的功能:

module.exports = function (context, req) {
try{
    if (req.body) {
        context.bindings.email = req.body;
        context.res = {
            status: 200,
            body: req.body
        };
    }
    else {
        context.res = {
            status: 400,
            body: "Please pass a name on the query string or in the request body"
        };
    }
} catch(e) {
    context.log(e);
    context.res = {
        status: 500,
        body: e
    };
}

context.done();
return req.body; 
};

在处理带有以下消息的输入 POST 请求时失败并引发异常:

执行函数时出现异常:Functions.SendGridJs。

Microsoft.Azure.Documents.Client:值不能为空。

参数名称:文档。

我通过 Azure Function 集成向导设置了集成,而不是通过代码部署。所以,我假设 Azure 负责设置代码。

【问题讨论】:

    标签: javascript azure azure-functions azure-cosmosdb


    【解决方案1】:

    您的function.jsonindex.js 的代码都可以。您需要将有效的 JSON 字符串输入req.body

    这是我的测试截图。

    如果我在请求正文中指定了无效的 JSON,我将收到与您相同的错误。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-01-19
      • 2018-10-26
      • 2020-06-30
      • 2022-01-08
      • 2021-12-26
      • 2017-10-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多