如何在 Azure 函数中手动将调用标记为失败?
How can I manually mark an invocation as Failure in an Azure Function?
我已经尝试了很多方法,但我可以强制 AzFn 了解调用失败的唯一方法是抛出异常而不处理它。因此,如果我 return 一个 HttpResponseException,AzFn 将认为调用成功。感觉不对。
catch (Exception ex)
{
logger.Error($"{nameof(ex)}: {ex.Message}", ex);
response = req.CreateErrorResponse(HttpStatusCode.InternalServerError, ex.Message, ex);
}
这应该会产生一个标记为失败的调用,但实际上并没有。
您的函数抛出的任何异常都会将函数标记为失败。在您上面的代码中,您吞下了异常,因此我们认为它是成功的。如果您 重新抛出异常 ,该函数将被标记为失败。在这种情况下,我们会自动 return 代表您支付 500。
我们不看HttpStatusCode
你return函数是否成功,只看运行函数是否成功完成w/o异常。如果您的函数能够 return 响应,那么从我们的角度来看它是成功的。
我已经尝试了很多方法,但我可以强制 AzFn 了解调用失败的唯一方法是抛出异常而不处理它。因此,如果我 return 一个 HttpResponseException,AzFn 将认为调用成功。感觉不对。
catch (Exception ex)
{
logger.Error($"{nameof(ex)}: {ex.Message}", ex);
response = req.CreateErrorResponse(HttpStatusCode.InternalServerError, ex.Message, ex);
}
这应该会产生一个标记为失败的调用,但实际上并没有。
您的函数抛出的任何异常都会将函数标记为失败。在您上面的代码中,您吞下了异常,因此我们认为它是成功的。如果您 重新抛出异常 ,该函数将被标记为失败。在这种情况下,我们会自动 return 代表您支付 500。
我们不看HttpStatusCode
你return函数是否成功,只看运行函数是否成功完成w/o异常。如果您的函数能够 return 响应,那么从我们的角度来看它是成功的。