如何在azure函数http触发器中触发失败,具有自定义错误响应

时间:2017-09-25 21:03:51

标签: node.js azure azure-functions azure-stream-analytics

我无法找到一种方法来对httpj调用nodejs azure函数失败,并包含自定义错误响应。

调用context.done()允许自定义响应(但未在Application Insights中指示为失败)

调用context.done(true,XXX)确实会导致失败,但会向用户返回一般错误(无论我在XXX中放置什么):

r"^((BOA_[0-9]{4}-[0-9]{1,3})(?:CO)?.[pP][dD][fF]$)"

这只是我尝试在Azure func上运行快速web api时遇到的最新问题。如果你无法跟踪错误,那么它应该很难被称为#34; Application Insights"。有任何想法吗?

2 个答案:

答案 0 :(得分:1)

成功将成立,但 resultCode 将设置为您的值。

尝试像这样的AppInsights查询:

// Get all errors
requests
| where toint(resultCode) >= 400
| limit 10

[更新] Requests中的Id值是'function instance id',它唯一地标识该调用。

还有一个'trace'表,其中包含来自azure函数的日志消息。您可以通过operation_Id在请求和跟踪之间进行连接。

requests 
| where toint(resultCode) >= 400
| take 10 
| join (traces) on operation_Id 
| project id, message, operation_Id

响应正文不会自动记录到AppInsights。您需要添加一些显式日志语句来捕获它。

答案 1 :(得分:0)

为什么不使用context.res返回HTTP触发器功能的客户响应?

enter image description here