我正在使用隔离的azure函数从队列中接收消息。我需要验证收到的消息,如果无效,就把它发送到死信队列。我发现的唯一方法是抛出异常,在10次重试后,消息将被移动到死信队列。当然,这不是一个好的解决方案。也许有人面临着同样的任务。谢谢你,谢谢
[Function("Example")]
public async Task ExampleAsync([ServiceBusTrigger("example", Connection = "ServiceBusConnection")] string entityId)
{
if (!int.TryParse(entityId, out var id))
{
// TODO: Move to dead-letter queue
}
}
字符串
1条答案
按热度按时间rkue9o1l1#
如果使用进程内worker,可以通过在函数中绑定到
ServiceBusMessageActions
,然后调用其DeadLetterMessageAsync
方法来实现死信。这还需要绑定到ServiceBusMessage
,而不仅仅是string entityId
。举例来说:
字符串
更多的例子可以在README包中找到。
不幸的是,这在隔离流程模型中还不可用。