如何配置服务总线功能 2.x 的最大重试次数?

Kev*_*ing 4 azure azure-servicebus-queues azure-functions

默认情况下,Azure 服务总线队列绑定函数的重试计数为 10,是否可以在 host.json 或 local.settings.json 文件中自定义此值?我读过有关微软的文档,其中引入了四个变量(prefetchCount、autoComplete、maxConcurrentCalls、maxAutoRenewDuration),但它们都不是我需要的,此外,这些都是我们可以为服务总线绑定功能配置的设置吗?我们可以有像最大重试、重试间隔、规模计数之类的东西吗?

Rob*_*gan 5

最大传递计数是队列本身的属性。

您可以想象如果可以在软件中覆盖这一点,可能会出现什么问题。假设进程 A 正在监视服务总线队列并将其最大传递计数设置为 5,而进程 B 也正在监视同一队列,但将其最大传递计数设置为 10。如果是这种情况,进程 A 将强制产生死信尝试 5 次后无法送达消息,但进程 B 预计会尝试 10 次。因此,更改最大交付计数的唯一方法是在服务总线队列本身上设置该属性。

您可以通过将消息完全出队,然后在 catch 块中重新排队,而不是依赖队列的内部重试逻辑来避免这种情况。然后你就可以做任何你想做的事了。