Azure Blob触发器有时花费太多时间才能被触发

时间:2019-04-19 09:11:59

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

我正在使用App Service Plan的azure函数,并添加了blob触发器,但是当任何文件上传到blob容器时,函数不会触发。或有时花费太多时间,然后才开始触发。 任何建议将不胜感激

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

2 个答案:

答案 0 :(得分:1)

冷启动

应该是这种情况

根据此处的注释

  

在“消费”计划上使用Blob触发器时,可能会有   处理新的Blob最多需要10分钟的延迟。发生这种延迟   当功能应用闲置时。功能应用程序运行后,   Blob立即被处理。为避免这种冷启动延迟,请使用   启用了始终在线的App Service计划,或使用事件网格   触发。

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

答案 1 :(得分:1)

由于您说您已经在App Service计划中运行这些功能,因此很可能没有启用Always On设置。您可以从门户网站上的Application Settings -> General Settings标签执行此操作:

Enable Always On

另一个可能的原因是,如果您在处理完容器后仍未从容器中清除斑点,那么

From here:

  

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

使用消费计划时,here's another link警告可能出现延误。