在结合使用ServiceBusTrigger
和Azure函数来触发该函数在Service Bus队列中的新消息上执行时,它们似乎不是自动更新消息超时的方法。当然,您总是可以调用BrokeredMessage.RenewLock
方法,但是使用Functions似乎无法配置它来自动更新消息锁定。
在处理服务总线队列消息时,是否有人发现将Azure功能配置为自动续订BrokeredMessage锁的方法?
是的,我知道您可以增加Service Bus Queue的默认超时时间,但是最大可配置默认超时时间是5分钟。仍然可能太短。
谢谢!
这里是一个示例,该示例在使用Visual Studio生成提到的Azure函数时,在C#中使用ServiceBusTrigger
属性。请注意,ServiceBusTrigger
的用法不允许设置超时持续时间,也不允许配置自动续订。
[FunctionName("MyFunction1")]
public static async Task Run(
[ServiceBusTrigger("queuename", AccessRights.Listen, Connection = "AzureServiceBus")] BrokeredMessage sbCommand,
ILogger log)
{
// process message here
}
答案 0 :(得分:1)
The function renews the message lock by itself. You don't need to renew the lock manually, it is handled by the run time of the function. Please refer this article.