我们创建了一个Blob触发的Azure函数,以处理放置在Blob存储中的文件。此Blob上的负载将不一致。 例如,在几个小时内,每分钟将有数百甚至数千个文件放置在该Blob中。另一方面,在几个小时内,我们甚至找不到一个文件。 有些文件将在几秒钟内处理完毕,有些则可能需要10到15分钟以上的时间。
所以我的问题是:在这种不可预测的情况下,哪种计划对我们更好?是应用服务计划还是消费计划?
答案 0 :(得分:2)
如果您可以优化代码,以使最长处理时间为10分钟,那么考虑到工作负载的波动,从成本角度考虑,“消费计划”是您的最佳选择
正如@Peter Bons所说,is your best reference
修改
根据上述文档
如果您的功能应用已在“消费”计划中,则最多可以有一个 如果功能应用程序消失了,处理新Blob的时间将延迟10分钟 空闲。
如果您希望避免这种延迟并仍然使用消耗计划以从其成本效益中受益,则可以用Event Grid Trigger替换Blob触发器,但是现如今Azure功能并未完全支持它。