首页 > 解决方案 > Azure Blob 存储功能的并发问题

问题描述

Azure 函数同时处理 Blob 存储中的多个文件。这导致在动态 CRM 中创建重复数据,因为 azure 函数正在并行执行多个文件。有人可以帮助我,我如何限制 azure 函数一次处理一个文件?

标签: azurec#-4.0azure-blob-storagedynamics-crm-online

解决方案


根据Trigger - concurrency and memory usage官方文档的部分Azure Blob storage bindings for Azure Functions,如下图。

Blob 触发器在内部使用队列,因此最大并发函数调用数由 host.json 中的队列配置控制。默认设置将并发限制为 24 次调用。此限制分别适用于使用 blob 触发器的每个函数。

在此处输入图像描述

因此,您可以按照以下host.json模板文件的内容将queues.batchSize值设置1为限制 Azure Function with Blob Trigger 每次处理一个文件。

在此处输入图像描述

作为参考,您也可以参考两个类似的 SO 线程。

  1. Azure Functions - 限制并行执行
  2. 在 Azure Function App 中限制 Azure 存储队列处理

推荐阅读