我无法找到一种方法来对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"。有任何想法吗?
答案 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)