我使用blob触发器在消费计划上创建了Azure功能。然后,我将许多文件添加到Blob,并且我希望每次将文件添加到触发器时都将调用Azure函数。
由于我使用的是Azure功能和消耗计划,因此我希望不会出现可伸缩性问题,对吗?错误。
我可以轻松地将文件添加到Blob的速度快于Azure功能处理它们的速度。数百个用户可以添加到Blob中,但似乎在任何一次都只能运行一个Azure Function实例。意味着它很容易落后。
我认为该平台将仅根据需要创建更多Azure函数实例。好吧,似乎没有。
任何建议如何配置Azure函数以通过Blob触发器实现真正的可伸缩性?
答案 0 :(得分:2)
这是因为您正在使用冷启动
在“消费”计划上使用Blob触发器时,可能会有 处理新的Blob最多需要10分钟的延迟。发生这种延迟 当功能应用闲置时。功能应用程序运行后, Blob立即被处理。为避免这种冷启动延迟,请使用 启用了始终在线的App Service计划,或使用事件网格 触发。
对于您的情况,您需要考虑使用Event-Grid触发器而不是blob触发器,Event触发器也具有对blob-events的内置支持。
在以下情况下,使用事件网格代替Blob存储触发器: