azure - Azure 函数发布失败
问题描述
当我尝试发布我的 Azure 函数时,我收到了 Publish Failed 消息。我之前收到过这个消息,一段时间后它就消失了。
[更新] 我了解到 Azure Functions 冷启动并在 5 分钟后过期。我发现如果我在收到错误后等待 5 分钟,那么我可以在没有错误的情况下发布。所以发生错误是有道理的,因为函数应用程序仍然“活动”
我一直在 Azure 门户中运行该功能
我的想法是对的吗?如果是这样,更好的消息会很好。
下次发生这种情况时,我将尝试从门户中停止该功能。
解决方案
Azure Function MSDeploy 在 VS 中发布失败可能是由很多原因引起的,我们可以在 VS 输出中看到更多详细信息,通常有一些链接将我们指向Web Deploy Error Codes。
冷启动是最近在消费计划上创建的未调用函数的延迟增加,部署应该与它无关。
根据您的描述,我猜您可能会遇到ERROR_FILE_IN_USE 。
Web Deploy cannot modify the file 'xxx' on the destination because it is locked by an external process.
Azure 功能中已实现AppOfflinefuncappname - Web Deploy.pubxml
,只需在下面添加设置以发布配置文件( ),Azure 将解锁正在使用的文件以允许部署工作。这样,我们就不需要手动停止和启动function app了。
<EnableMSDeployAppOffline>true</EnableMSDeployAppOffline>
功能部署失败可能还有其他错误。
对于ERROR_COULD_NOT_CONNECT_TO_REMOTESVC
和ERROR_DESTINATION_NOT_REACHABLE
,请确保网络正常并且没有防火墙/代理限制。
对于ERROR_CONNECTION_TERMINATED
,检查 Fiddler 是否打开。
在我们消除机器上的可能原因后,请尝试以下方法。
- 已经看到几个相关问题在没有采取任何措施的情况下得到解决,即等待一段时间或几天后重试。因此,如果我们不着急,稍后重试可能是一个解决方案。
- 在门户概览上,
Reset publish credentials
然后Download publish profile
。删除旧的发布配置文件并导入新的发布配置文件以再次发布。 - 在 VS 发布步骤中,检查
Run from package file(recommended)
以避免使用 MSDeploy。 - 删除所有与该功能相关的旧资源。然后使用新的应用服务计划和存储创建一个全新的功能应用。尝试发布到这个新应用。
- 在门户
Help + support
服务上,新的支持请求以获得官方帮助。
推荐阅读
- c# - 如何实现输入复选框的选中动作?
- ios - IOS Swift 卡片效果图被剪裁了
- java - 在 Servlet 中启动新线程
- django - 执行 Django 管理命令,在 windows 和 linux 中启动多个进程和线程
- ruby-on-rails - 如何从控制器更新数据库中的字段
- excel - 在谷歌电子表格中自动移动
- batch-file - 如何跳过解压缩已经存在的文件?
- powershell - Powershell 的 AddSslCertificate() 不适用于 IIS 10(非服务器)绑定
- javascript - 如何获取ajax响应的值
- react-native - 响应来自 JS 的本机可折叠格式错误调用:字段大小不同