gpt4 book ai didi

azure - 如何获取连续 Azure WebJob 调用的详细信息

转载 作者:行者123 更新时间:2023-12-03 15:39:24 28 4
gpt4 key购买 nike

查看 Kudu Azure WebJobs API 文档 https://github.com/projectkudu/kudu/wiki/WebJobs-API我发现我可以执行多个调用来以编程方式管理 WebJobs。

对于连续的网络作业,缺少的是获取单个调用的详细信息的调用。对于调用,我指的是针对给定消息的函数的单次执行。

我想要做的是,对于进入有害队列的消息,获取父调用的异常消息。在有害消息中,我使用 json 属性 $AzureWebJobsParentId 获取父调用的 ID。

我想使用一个功能来管理有害队列,该功能通过电子邮件发送错误详细信息并将消息移动到死信队列中。

知道这是否可能吗?

最佳答案

Azure WebJobs SDK Core extensions包含 ExecutionContext 的绑定(bind),它允许您访问函数中调用特定的系统信息。显示如何访问函数调用 ID 的示例:

public static void ProcessOrder(
[QueueTrigger("orders")] Order order,
TextWriter log,
ExecutionContext context)
{
log.WriteLine("InvocationId: {0}", context.InvocationId);
}

调用 ID 在仪表板日志中使用,因此以编程方式访问此 ID 允许您将调用与这些日志关联起来。

创建 function specific error handler只会处理一个函数的错误。这是通过基于“ErrorHandler”后缀的命名约定来完成的。

public static void ProcessOrderErrorHandler(
[ErrorTrigger()] TraceFilter filter,
TextWriter log)
{

var lastMessage = filter.Message;
var lastMessages = filter.GetDetailedMessage(5);
}

对于email notifications

public static void ErrorMonitor(
[ErrorTrigger("0:30:00", 10, Throttle = "1:00:00")] TraceFilter filter,
[SendGrid] SendGridMessage message)
{
message.Subject = "WebJobs Error Alert";
message.Text = filter.GetDetailedMessage(5);
}

关于azure - 如何获取连续 Azure WebJob 调用的详细信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37120493/

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