如何在 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 响应,那么从我们的角度来看它是成功的。