我有一个Azure函数,用于侦听Azure Servicebus队列中的消息。当它收到消息时,会将它们标记为已完成,并且不再在队列中。
有没有一种方法可以将它们标记为仅在长时间的过程完成之后?还是如果失败将它们取消标记为完成?

我的函数调用了Api,并且我希望在Api用成功代码进行响应之前,不要将消息标记为已完成。

最佳答案

功能执行完成后,该消息将被标记为完成。

中止消息的最简单方法是从函数中抛出异常,例如当您的API响应时显示错误状态代码。在这种情况下,该消息将被放回队列,并且将重试该功能(直到为此服务总线队列配置的最大重试次数)。

关于c# - Servicebus的Azure功能如何不将消息标记为已完成,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44009647/

10-17 02:46