从包更新部署的 Azure 函数不可见

Ale*_*s G 4 deployment azure azure-functions

我正在从包中部署 azure 函数应用程序(使用本指南 - https://learn.microsoft.com/en-us/azure/azure-functions/run-functions-from-deployment-package) - 这可以正确部署。但我似乎无法部署更新。即使我上传新包后,azure 功能应用程序也不会接收更改。我尝试停止/启动该应用程序但无济于事。

我怎样才能强制它接受更改?

Ant*_*ton 7

我使用函数 v3 新部署的函数遇到了这个问题,所以这似乎仍然是一个问题。

简短回答:
删除 .zip D:\home\data\SitePackages,然后重新部署,您的更改将会生效。

长答案

我的设置使用 ZIP 部署和WEBSITE_RUN_FROM_PACKAGE = 1.

了解使用 ZIP 部署时会发生什么情况会有所帮助:

  1. zip 文件不会写入站点的 wwwroot,而是写入D:\home\data\SitePackages(来源: https: //learn.microsoft.com/en-us/azure/azure-functions/run-functions-from-deployment-package
  2. 然后将 zip 文件的内容安装到那里D:\home\site\wwwroot并从那里运行。

由于某种原因,.zipD:\home\data\SitePackages没有被替换,它仍然是旧版本。为了解决这个问题,我在重新部署之前使用应用服务的控制台删除了该文件。

  1. 导航到您的应用程序服务功能并打开控制台(在开发工具部分下)
  2. 运行cd D:\home\data\SitePackages然后ls查看文件夹中的文件。
  3. 运行rm命令以删除 zip 和文本文件。
  4. 重新部署您的函数,您将看到更改已生效。