0

我更习惯于 Service Bus Queue,但在将其与 Azure Function App 一起使用时遇到了挑战。

我们有 Azure Function App,它通过 ServiceBugTrigger 从服务总线队列中读取数据。根据此链接,Azure Function App 在内部(在队列触发和函数执行端)管理队列消息 PeekLock,我们不需要在进程结束时完成()消息。

我的队列消息锁定持续时间设置为 3 分钟(这对于我的执行来说已经足够了,我想说的比我的要求还多)。我还应用了其他必需的参数来很好地处理消息,

"serviceBus": {
    "maxAutoRenewDuration": "00:05:00",
    "maxConcurrentCalls": 10,
    "prefetchCount": 0
  }

使用此实现时,我经常收到 LOCK DURATION EXPIRED 错误。真的不知道这里发生了什么,有什么线索吗?

我习惯于服务总线队列并了解每个参数功能。此外,已根据要求配置了每个参数。

4

1 回答 1

0

当您的 maxAutoRenewDuration 超过 servicebus 端的锁定持续时间时,就会发生这种情况。您应该检查在服务总线队列端指定的锁定持续时间。确保它大于或等于 azure 函数中指定的 maxAutoRenewDuration

您可以从门户或服务总线资源管理器更新它

于 2019-07-29T10:32:11.770 回答