【发布时间】:2018-03-28 11:28:47
【问题描述】:
我有一个放入大量高频数据的队列。我有一个 azure 函数,该函数将在向其写入新消息时触发并将消息写入 Azure sql 数据库。我的问题是要写的消息太多,所以我想做的是一种“累积”消息,然后一次将它们全部写入数据库。我在 Azure 功能服务总线集成中看不到任何类型的功能来获取所有(或 x)消息并处理它们。
这样的事情可能吗?
感谢任何帮助。
【问题讨论】:
-
您正在寻找批处理,目前不支持。有一个开放的 github 问题请求该功能:github.com/Azure/azure-webjobs-sdk/issues/1024
-
另外,您可能永远不会看到“获取所有”的变化——由于 SB 将队列分区到多个队列实例的方式,Azure 本身永远不会准确地知道排队的“真实”消息数量用于交付(例如,当它从分区 #3 获取计数时,有人可以写入已经计数的分区 #1)。
-
另外,以防万一你遇到它,SB queue Functions 相当混乱地将多个实例称为“批处理”......请参阅this 答案。
标签: c# azure azure-functions azureservicebus