![](/img/trans.png)
[英]How do I delete a DeadLetter message on an Azure Service Bus Topic
[英]What happens when Service bus triggered Azure function deadletter a message explicitly and then throw exception at the end?
我有一个场景,我使用服务总线触发的 azure 函数并在函数中使用 MessageReceiver 类。 如果发生任何异常,我将捕获它并使用消息接收器对象在 catch 块中对消息进行死信处理,然后我也使用 throw 语句。
catch (Exception exception)
{
await messageReceiver.DeadLetterAsync(lockToken, propertiesToModify).ConfigureAwait(false);
throw;
}
在这种情况下,无论何时发生异常,我们都会明确地向死信发送消息。 这是否意味着它不会使用来自服务总线触发器(交付计数)的默认重试,它只会在第一次失败时向 DLQ 添加消息?
我应该在这里跳过 throw 语句,还是应该在达到交付计数后使用 DLQ 的默认行为?
ServiceBusOptions
配置RetryOptions
。false
,您负责调用MessageReceiver方法来完成、放弃或死信消息。MessageReceiver
方法),则锁保持不变。 一旦锁定到期,消息将重新排队并增加DeliveryCount
并自动更新锁定。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.