![](/img/trans.png)
[英]How to trigger controller action by Azure storage queue like in Azure functions?
[英]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 队列消息多个,您可以使用ICollector
和IAsyncCollector
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.