【问题标题】:Azure Blob Triggers sometime taking too much time to get triggeredAzure Blob 触发器有时需要太多时间才能触发
【发布时间】:2019-09-09 13:54:57
【问题描述】:

我正在为 azure 功能使用应用服务计划,并添加了 blob 触发器,但是当任何文件上传到 blob 容器时,函数没有触发。或者有时它花费了太多时间,然后在它开始触发之后。 任何建议将不胜感激

它应该在新文件上传到 blob 容器时触发该功能。

【问题讨论】:

  • 您能否具体说明您得到的延迟以及您的预期?

标签: azure blob azure-functions azure-blob-storage


【解决方案1】:

这应该是冷启动

的情况

按照这里的说明

当您在消费计划中使用 blob 触发器时,可能会有 处理新 blob 最多延迟 10 分钟。出现这种延迟 当功能应用程序空闲时。函数应用运行后, 立即处理 blob。为避免这种冷启动延迟,请使用 启用 Always On 的应用服务计划,或使用事件网格 触发。

对于您的情况,您需要考虑 Event-Grid 触发器而不是 blob 触发器,事件触发器也具有对 blob 事件的内置支持。

【讨论】:

    【解决方案2】:

    由于您说您已经在应用服务计划中运行这些功能,因此您可能没有启用 Always On 设置。您可以从门户上的Application Settings -> General Settings 选项卡执行此操作:

    另一个可能的原因是,如果您在处理后没有将 blob 从容器中清除。

    From here:

    如果受监视的 blob 容器包含超过 10,000 个 blob(跨所有容器),则 Functions 运行时会扫描日志文件以监视新的或更改的 blob。此过程可能会导致延迟。在创建 Blob 几分钟或更长时间后,函数可能不会被触发。

    并且在使用消费计划时,here's another link 警告可能会延迟。

    【讨论】:

      猜你喜欢
      • 2021-03-31
      • 2021-02-26
      • 2020-11-26
      • 2020-04-21
      • 1970-01-01
      • 2020-03-10
      • 1970-01-01
      • 1970-01-01
      • 2021-03-26
      相关资源
      最近更新 更多