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

标签 azure deployment azure-functions

我正在从包中部署 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 部署时会发生什么:

  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 并从那里运行。

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

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

关于从包更新部署的 Azure 函数不可见,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53722849/

相关文章:

asp.net-mvc - 能够将文件发布到 Azure Slot,但可查看页面未更新

azure - 如何在 Azure Functions C# 中获取客户端 IP 地址?

api - 使用格子 API 请求 Azure 移动服务

entity-framework - 发布 Web 对话框未将我的 Entity Framework 5 上下文检测为 Code First

c# - 部署:this.Context.Parameters 在整个安装过程中不可用

azure - 我们是否需要为我们的 Azure Function App 设置执行额外的安全措施(存储在 Key Vault 内)

Azure 自动化用例

azure - Azure 中的 "You do not have permission to view this directory or page"错误

deployment - 如何为 ClickOnce 应用程序设置 LARGEADRESAWARE?

c# - 单例时间跨多个区域触发 Azure Function