我可以配置azure功能来查看和读取服务总线队列中的消息但不删除它吗?

时间:2017-03-23 03:53:21

标签: azure azure-functions

Azure Functions Service Bus bindings

触发行为

...

PeekLock行为 - 函数运行时在PeekLock模式下接收消息,如果函数成功完成,则在消息上调用Complete;如果函数失败,则调用Abandon。如果该函数的运行时间超过PeekLock超时,则会自动更新锁定。

我假设当azure函数在消息上调用Complete时,它将从队列中删除。

如果我希望我的功能监视邮件但从不删除它,我该怎么办?

1 个答案:

答案 0 :(得分:4)

导致函数抛出异常或显式放弃操作的消息处理失败将无法完成消息。

这样说,我发现这种方法存在问题。你不是真的"间谍"关于消息,但积极处理这些。这意味着给定的消息将被重新传递并最终进入死信队列。如果你想进行间谍活动,你应该peek看邮件,但Azure Service Bus触发器不会这样做。

如果你需要一个窃听实现,那么使用一个主题并拥有2个订阅可能不是一个坏主意,一个用于消息,另一个用于复制你的窃听函数的所有消息(也许这样做)某种分析或记录)。如果不了解您正在做的事情的全部范围,很难提供答案。