我有Azure功能设置来运行blob触发器(因此当blob添加到容器时,它应该触发)。在我打开门户中的功能应用程序之前,函数不会运行。然后它将拾取任何添加的blob并像平常一样处理它们。为什么我需要在门户中打开功能应用程序才能启动我的工作?它几乎就像应用程序进入睡眠状态,然后在我浏览它时醒来。我该如何防止这种情况发生?
这是我的CRON
{
"bindings": [
{
"name": "myBlob",
"type": "blobTrigger",
"direction": "in",
"path": "automated-sql-export",
"connection": "Conn"
}
],
"disabled": false
}
答案 0 :(得分:5)
当功能应用程序运行时,主机负责自动接收/轮询所有各种触发器类型(队列,事件集线器,blob等)中的新事件。但是,根据您运行的等级会产生一些差异。
在我们的动态SKU 中,我们在功能应用程序外部提供了一项服务,该服务负责监视工作并确保功能应用程序在需要时运行。当没有工作要执行时(例如,没有队列消息,没有新的blob等),功能应用程序进入休眠状态。外部服务部门有责任确保在工作到来时将其唤醒。
我的经典SKU (基本/标准)此外接显示器不在图片中。功能应用程序必须在始终开启模式下运行才能保持活动状态。在经典层中创建功能应用程序时,此设置应自动配置为“打开”。
解释了所有背景知识,如果你在动态SKU中运行,事情应该“正常”。如果不是,请记录错误here。如果您使用的是经典SKU,请确保已启用“始终开启”。这是人们遇到的常见问题。