gpt4 book ai didi

javascript - 如何存储来自Azure函数js的异常/错误?

转载 作者:行者123 更新时间:2023-12-03 04:24:13 26 4
gpt4 key购买 nike

我已经创建了一个 Azure 函数,用于将数据从 Iot Hub 保存到 SQL 数据库中,该函数工作正常,现在我想将异常和错误保存到 Azure 存储表,因此我添加了 try{ } catch(err ){} 但这不起作用。请纠正我。谢谢!

我的功能在这里

module.exports = function (context, iotHubMessage) {

try {
var strMsg = JSON.stringify(iotHubMessage);
context.log('Message received: ' + strMsg);

var ob1 = { "employee_idw": 444, "last_name": "Teller", "first_name": "Saara", "age": 34, "salary": 87000 };
//I misspelled 'employee_idw' to generate error

var ob2 = { "employee_id": 555, "last_name": "Teller", "first_name": "Saara", "age": 31, "salary": 87000 };

ob1.EventProcessedUtcTime = new Date;
ob2.EventProcessedUtcTime = new Date;

var arr = [];
arr.push(ob1);
arr.push(ob2);

context.bindings.outputTable = arr;


context.done();
} catch (err) {
context.log('CCC Error' + err); // even can not see this message in log
context.bindings.error= { "partitionKey": partitionKey, "rowKey": rowKey, "data": err };
}
};

这是 JSON 文件

{
"bindings": [
{
"type": "eventHubTrigger",
"name": "myEventHubMessage",
"path": "myeventhub",
"consumerGroup": "$Default",
"connection": "PBCorIOTHub_events_IOTHUB",
"cardinality": "many",
"direction": "in"
},
{
"type": "apiHubTable",
"name": "outputTable",
"dataSetName": "default",
"tableName": "employees",
"connection": "sql_SQL",
"direction": "out"
},

{
"type": "table",
"name": "error",
"tableName": "dddtTest",
"connection": "cccteststr_STORAGE",
"direction": "out"
}
],
"disabled": false
}

最佳答案

您是否使用 Azure SQL 或 Azure 表存储来存储数据?从您的代码来看,您似乎正在使用 Azure 表存储。我问的原因是因为更改属性名称不会导致函数错误。相反,表存储将创建一个名称拼写错误的新属性。

就像 Mikhail 建议存储函数内部引起的错误一样,您所要做的就是创建另一个输出绑定(bind)并将异常分配给它。

然而,并非所有异常都发生在函数上下文内。例如,function.json 配置中的错误可能会导致连接到存储时出错。这将导致函数执行在函数代码上下文之外失败。 Azure Functions 与 Application Insights 直接集成,可以帮助监视您正在查找的内容。这是一篇博客文章,可以展示如何配置 Application Insights。

https://blogs.msdn.microsoft.com/appserviceteam/2017/04/06/azure-functions-application-insights/

关于javascript - 如何存储来自Azure函数js的异常/错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45328349/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com