繁体   English   中英

Azure Function 列表触发器<poco>存储队列</poco>

[英]Azure Function Trigger for List<POCO> Storage Queue

我们订阅了事件网格,其端点类型为存储队列(例如 xyz-queue)。 我们还有一个 Azure Function 这是一个队列(xyz-queue)触发器。 xyz-queue 存储队列中的每条消息都是 EventGridEvent object。 我有 Azure Function 触发器如下所示:

public static void Run([QueueTrigger(xyz-queue, Connection = "connnection")] EventGridEvent ege)

因为,将有 1000 条具有相同 POCO object 的消息(在本例中为 EventGridEvent),有没有一种方法可以读取多条消息,一起处理它们并确保我们读取的消息不超过 5 条,这样 function 就不会采取处理时间长。

Functions 运行时同时检索并并行处理的队列消息的数量。 当正在处理的数量下降到newBatchThreshold时,运行时会获取另一个批次并开始处理这些消息。 因此,每个 function 正在处理的最大并发消息数是batchSize加上newBatchThreshold 此限制分别适用于每个队列触发的 function。

{
    "version": "2.0",
    "extensions": {
        "queues": {
            "maxPollingInterval": "00:00:02",
            "visibilityTimeout" : "00:00:30",
            "batchSize": 5,
            "maxDequeueCount": 5,
            "newBatchThreshold": 2
        }
    }
}

更多细节,你可以参考这篇文章

此外,如果您想使用 poco 将 output 队列消息多个,您可以使用ICollectorIAsyncCollector

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM