如何使用 Azure Cloud Functions 将所有 Azure 存储队列消息批量处理为 Blob?

seb*_*lon 4 azure azure-storage-blobs azure-storage-queues azure-functions

我想读取 Azure 队列存储的所有消息并将它们写入 Blob。理想情况下,我想读取 10000 或更多的批次并将它们写入 Blob。

我将 Azure Cloud Functions 与队列存储绑定用于输入,将 Blob 存储绑定用于输出,但我找不到可以让我读取 1 条以上消息的 API 或配置选项。有人知道这样的API吗?

Mik*_*kov 5

官方文档没有提到任何支持在 Azure Function 的单次执行中批量处理存储队列消息。WebJobs SDK 中存在一个未解决的问题。所以,它不受支持。

如果您对用于消息中间件的服务很灵活,则可以切换到事件中心。事件中心触发器支持(并鼓励)批量处理消息。不过,它可能不会是 10.000:批量大小限制为 256k 数据。

要批量处理存储队列消息,您必须摆脱队列触发函数(例如,在计时器上运行函数并连接到表存储以处理所有消息,或者使用自定义轮询 Web 作业,或使用 Web 作业带有自定义触发器的 SDK)。

  • 您可以在 timertrigger 上运行一个函数(每分钟)并连接到表存储来处理所有消息? (2认同)