从服务总线队列消费批量消息而不是为每条消息触发它的方法

Juh*_*ena 1 azure .net-core azure-functions

我们有一个服务总线队列;我们正在考虑通过Azure函数中的服务总线队列触发器来处理消息。但我们希望(在循环中)使用批量消息,而不是为每条消息重新触发 Function App。应该采取什么方法来实现这一点以及使用哪个处理程序。如果仅使用 Azure Function,或者我们可以托管一个应用服务来使用它。

Mar*_*man 6

你应该使用批次。只需将变量声明为数组即可。

public static class ProcessOrders
{
    [FunctionName("ProcessOrders")]
    public static void Run(
        [ServiceBusTrigger("orders", Connection = "ServiceBusConnection")]
        Message[] orders, // <-- array
        ILogger log)
    {
        log.LogInformation($"Number of orders: {orders.Length}");
    }
}
Run Code Online (Sandbox Code Playgroud)

您可以使用该文件进一步配置批量大小host.json