当我尝试发布Azure功能时,我收到一条“发布失败”消息。 我以前曾收到过此消息,一段时间后它消失了。
[更新] 我了解Azure函数的启动很冷,并且会在5分钟后过期。 我发现如果在收到错误后等待5分钟,那么我可以发布而不会出现错误。因此,发生错误是有道理的,因为功能应用仍处于“活动”状态
我一直在Azure门户中运行该功能
我对这个想法是正确的吗? 如果是这样,一条更好的消息将是很好的。
下次发生这种情况时,我将尝试从门户网站内部停止该功能。
答案 0 :(得分:2)
Azure功能发布失败VS中的MSDeploy可能有很多原因,我们可以在VS输出中看到更多详细信息,通常会有一些链接将我们引向Web Deploy Error Codes。
cold start会使最近在“消费计划”中尚未创建的功能的延迟增加,因此部署应与此无关。
根据您的描述,我想您可能会遇到ERROR_FILE_IN_USE 。
Web Deploy cannot modify the file 'xxx' on the destination because it is locked by an external process.
AppOffline已在Azure功能中实现,只需在下面添加设置以发布配置文件(funcappname - Web Deploy.pubxml
),Azure将解锁正在使用的文件以允许部署正常进行。这样,我们无需手动停止和启动功能应用程序。
<EnableMSDeployAppOffline>true</EnableMSDeployAppOffline>
功能部署失败可能还会出现其他错误。
对于ERROR_COULD_NOT_CONNECT_TO_REMOTESVC
和ERROR_DESTINATION_NOT_REACHABLE
,请确保网络正常并且没有防火墙/代理限制。
对于ERROR_CONNECTION_TERMINATED
,检查Fiddler是否打开。
排除机器上的可能原因后,请尝试以下方法。
Reset publish credentials
和Download publish profile
。删除旧的发布配置文件,然后导入新的配置文件以再次发布。Run from package file(recommended)
,以避免使用MSDeploy。Help + support
服务上,需要新的支持请求以获取官方帮助。