Azure Function V2 服务总线消息延迟

2023-12-14

我正在尝试将 v1 函数转换为 v2 函数,但找不到延迟消息的替代方法。

在 Azure Functions V1 中,它是BrokeredMesage called .DeferAsync()。在 V2 中不再有BrokeredMessage但只是一个Microsoft.Azure.ServiceBus.Message并且这不包含方法.DeferAsync().

根据docs:

该 API 在 .NET Framework 客户端中为 BrokeredMessage.Defer 或 BrokeredMessage.DeferAsync,在 .NET Standard 客户端中为 MessageReceiver.DeferAsync,在 Java 客户端中为 messageReceiver.defer 或 messageReceiver.deferSync。

但我怎样才能访问 MessageReciever 呢? 这是我的函数的示例:

[FunctionName("MyFunction")]
public static void Run([ServiceBusTrigger("topic", "subscription", Connection = "AzureServiceBusPrimary")]Message message, ILogger log)
{
    //Code
}

那么有谁知道如何推迟 V2Message是从 Azure 服务总线触发的吗?


正如您所提到的,新的消息接收器提供了一个异步延迟方法,您可以使用以下代码将其添加到您的函数中:

[FunctionName("MyFunction")]
public static async Task Run([ServiceBusTrigger("topic", "subscription", Connection = "AzureServiceBusPrimary")]Message message, string lockToken, MessageReceiver messageReceiver, ILogger log)
{
    //Your function logic
    await messageReceiver.DeferAsync(lockToken);
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Azure Function V2 服务总线消息延迟 的相关文章

随机推荐