Azure WebJobs SDK Service Bus DeadLetter队列

Tod*_*ham 3 servicebus azure azure-webjobs azure-webjobssdk

使用WebJobs SDK时,将BrokeredMessage移动到deadletter队列的正确方法是什么?通常我只会调用msg.DeadLetter().但是,SDK负责管理代理消息的生命周期.如果方法返回成功,它将调用msg.Complete(),如果发生异常,它将重试该消息.我需要第三种情况告诉ServiceBus队列将消息移动到deadletter队列,因为它是一个错误的消息.

小智 6

您可以显式地对服务总线队列进行deadletter,并在消息被删除时触发函数.

public static void ProcessSBQueueMessage(
[ServiceBusTrigger("inputqueue")] BrokeredMessage inputText)
{
    inputText.DeadLetter("Webjobs", "webjobsdescription");
    Console.WriteLine(inputText);
}

public static void ProcessSBDeadLetterQueueMessage(
[ServiceBusTrigger("inputqueue/$DeadLetterQueue")] BrokeredMessage inputText)
{
    Console.WriteLine(inputText);
}
Run Code Online (Sandbox Code Playgroud)