我正在从包中部署 azure 函数应用程序(使用本指南 - https://learn.microsoft.com/en-us/azure/azure-functions/run-functions-from-deployment-package ) - 这可以正确部署。但我似乎无法部署更新。即使我上传新包后,azure 功能应用程序也不会接收更改。我尝试停止/启动应用程序,但没有成功。
如何强制它接受更改?
最佳答案
我使用函数 v3 新部署的函数遇到了这个问题,所以这似乎仍然是一个问题。
简短回答:
删除 D:\home\data\SitePackages
中的 .zip,然后重新部署,您的更改将会生效。
长答案
我的设置使用 ZIP 部署和 WEBSITE_RUN_FROM_PACKAGE = 1
。
这有助于了解使用 ZIP 部署时会发生什么:
- zip 文件不会写入您网站的 wwwroot,而是写入
D:\home\data\SitePackages
(来源:https://learn.microsoft.com/en-us/azure/azure-functions/run-functions-from-deployment-package) - 然后,zip 文件的内容将安装到
D:\home\site\wwwroot
并从那里运行。
由于某种原因,D:\home\data\SitePackages
中的 .zip 没有被替换,它仍然是旧版本。为了解决这个问题,我在重新部署之前使用应用服务的控制台删除了该文件。
- 导航到您的应用服务功能并打开控制台(位于“开发工具”部分下)
- 运行
cd D:\home\data\SitePackages
,然后运行 ls
以查看文件夹中的文件。 - 运行
rm
命令来删除 zip 和文本文件。 - 重新部署您的函数,您将看到更改已生效。
关于从包更新部署的 Azure 函数不可见,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53722849/