具有Blob触发器的可扩展Azure功能

时间:2018-09-29 10:40:08

标签: azure azure-functions azure-storage-blobs

我使用blob触发器在消费计划上创建了Azure功能。然后,我将许多文件添加到Blob,并且我希望每次将文件添加到触发器时都将调用Azure函数。

由于我使用的是Azure功能和消耗计划,因此我希望不会出现可伸缩性问题,对吗?错误。

我可以轻松地将文件添加到Blob的速度快于Azure功能处理它们的速度。数百个用户可以添加到Blob中,但似乎在任何一次都只能运行一个Azure Function实例。意味着它很容易落后。

我认为该平台将仅根据需要创建更多Azure函数实例。好吧,似乎没有。

任何建议如何配置Azure函数以通过Blob触发器实现真正的可伸缩性?

1 个答案:

答案 0 :(得分:2)

这是因为您正在使用冷启动

按照note here

  

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

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

什么时候考虑事件网格?

在以下情况下,使用事件网格代替Blob存储触发器:

  • Blob存储帐户
  • 大规模
  • 最小化冷启动延迟

Read more here