Blob 触发器 Azure Function v1 无法一次仅处理一个 Blob

问题描述 投票:0回答:1

这是我尝试停止并行处理的所有尝试:

  1. host.JSON 文件如下所示:
"version": "2.0",
"extensions": {
    "queues": {
      "batchSize": 1,
      "maxDequeueCount": 1,
      "newBatchThreshold": 0
    }
  1. 我通过门户缩小了我的功能应用程序的规模:

  1. 我已将应用程序设置添加到我的函数应用程序中并将其设置为 1
    WEBSITE_MAX_DYNAMIC_APPLICATION_SCALE_OUT: 1

  1. 通过 Azure CLI 使用正确的凭据执行此语句:
az resource update --resource-type Microsoft.Web/sites -g <RESOURCE_GROUP> -n <FUNCTION_APP-NAME>/config/web --set properties.functionAppScaleLimit=<SCALE_LIMIT>

即使如此,同时上传的 blob 也会同时处理。我想仅在第一个斑点完成后处理下一个斑点。我还能尝试什么吗?

azure azure-functions azure-blob-storage blob azure-blob-trigger
1个回答
0
投票

您正在使用 blob 触发函数,但您的 host.json 具有队列扩展。尝试使用 blob 扩展并将 maxDegreeParallelism 设置为 1,如下所示。

队列扩展仅在您使用队列触发功能时才会产生影响。即使 blob 在后台使用队列,队列扩展也仅适用于队列触发器,而 blob 扩展则适用于 blob 触发器。否则我们就不需要两个不同的扩展。我建议删除队列扩展以避免混淆。如果需要,您可以随时再次添加。您的 blob 扩展将如下所示。

{"version":"2.0", "extensions": { "blobs": { "maxDegreeParallelism" : 1 }}}
© www.soinside.com 2019 - 2024. All rights reserved.