【问题标题】:Concurrency problem with Azure Blob Storage functionAzure Blob 存储功能的并发问题
【发布时间】:2019-09-03 06:33:45
【问题描述】:

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

【问题讨论】:

  • 这是一个很难回答的问题。你没有描述你正在做的任何事情,或者你没有尝试过自己来解决你的问题。该功能在做什么?这些文件是什么样的?在 CRM 中,哪些内容被复制了?
  • 来自 CRM 方面的问题,您为什么不使用插件提供了我的 Mircrosoft 实验室本身,它会将您的所有笔记/附件添加(移动)到 azure blob 存储。您无需为此编写代码,因为功能已经构建。 appsource.microsoft.com/en/product/dynamics-365/…

标签: azure c#-4.0 azure-blob-storage dynamics-crm-online


【解决方案1】:

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

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

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

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

  1. Azure Functions - Limiting parallel execution
  2. Throttling Azure Storage Queue processing in Azure Function App

【讨论】:

猜你喜欢
  • 2018-10-26
  • 1970-01-01
  • 2020-04-21
  • 1970-01-01
  • 2019-08-09
  • 2014-05-14
  • 2020-08-17
  • 2015-12-10
  • 2018-03-02
相关资源
最近更新 更多