将ServiceBusTrigger
与 Azure 函数一起使用以触发函数以对服务总线队列中的新消息执行时,它们似乎不是自动续订消息超时的方法。当然,您始终可以调用 BrokeredMessage.RenewLock
方法,但使用 Functions 时,似乎无法将其配置为自动续订消息锁。
是否有人发现可以将 Azure 函数配置为在处理服务总线队列消息时自动续订中转消息锁?
是的,我知道您可以增加服务总线队列的默认超时,但最大可配置的默认超时为 5 分钟; 这仍然可能太短。
谢谢!
下面是在生成 Azure 函数时使用 ServiceBusTrigger
属性的示例,如使用 Visual Studio 所述。请注意,ServiceBusTrigger
使用不允许设置超时持续时间,也不允许配置自动续订。
[FunctionName("MyFunction1")]
public static async Task Run(
[ServiceBusTrigger("queuename", AccessRights.Listen, Connection = "AzureServiceBus")] BrokeredMessage sbCommand,
ILogger log)
{
// process message here
}
该函数自行更新消息锁。您无需手动更新锁,它由函数的运行时处理。请参阅此文章。