首页 > 解决方案 > Azure 函数发布失败

问题描述

当我尝试发布我的 Azure 函数时,我收到了 Publish Failed 消息。我之前收到过这个消息,一段时间后它就消失了。

[更新] 我了解到 Azure Functions 冷启动并在 5 分钟后过期。我发现如果我在收到错误后等待 5 分钟,那么我可以在没有错误的情况下发布。所以发生错误是有道理的,因为函数应用程序仍然“活动”

我一直在 Azure 门户中运行该功能

我的想法是对的吗?如果是这样,更好的消息会很好。

下次发生这种情况时,我将尝试从门户中停止该功能。

标签: azureazure-functions

解决方案


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_REMOTESVCERROR_DESTINATION_NOT_REACHABLE,请确保网络正常并且没有防火墙/代理限制。

对于ERROR_CONNECTION_TERMINATED,检查 Fiddler 是否打开。

在我们消除机器上的可能原因后,请尝试以下方法。

  1. 已经看到几个相关问题在没有采取任何措施的情况下得到解决,即等待一段时间或几天后重试。因此,如果我们不着急,稍后重试可能是一个解决方案。
  2. 在门户概览上,Reset publish credentials然后Download publish profile。删除旧的发布配置文件并导入新的发布配置文件以再次发布。
  3. 在 VS 发布步骤中,检查Run from package file(recommended)以避免使用 MSDeploy。
  4. 删除所有与该功能相关的旧资源。然后使用新的应用服务计划和存储创建一个全新的功能应用。尝试发布到这个新应用。
  5. 在门户Help + support服务上,新的支持请求以获得官方帮助。

推荐阅读