Python版Azure Function App:VS Code部署成功但门户仍显示旧代码
无Kudu权限下Azure Function App代码同步问题解决方法
针对Linux消耗型计划、使用Azure Files存储的Python Function App,在VS Code部署成功但门户文件未更新的情况,可尝试以下方法:
1. 切换VS Code部署方式为Zip部署
VS Code默认的文件同步部署可能因Azure Files缓存或权限问题导致更新失败,切换为Zip部署可强制覆盖远程内容:
- 在VS Code的Azure扩展中,右键目标Function App,选择「Deploy to Function App」
- 部署前确认本地代码已正确打包,或在扩展设置中开启
azureFunctions.preferZipDeploy,强制使用Zip部署模式
2. 使用Azure CLI执行强制Zip部署
通过Azure CLI直接上传本地代码包,绕过VS Code的同步逻辑,强制更新远程存储:
- 本地将Function App代码打包为zip文件(需包含根目录的
host.json、各函数文件夹及requirements.txt) - 执行以下命令:
az functionapp deployment source config-zip -g <你的资源组名称> -n <你的函数应用名称> --src <本地zip文件路径>
该操作仅需函数应用的部署权限,无需Kudu访问权限。
3. 启用「从包运行」模式
通过修改应用设置,让函数应用直接从打包的代码包运行,脱离Azure Files的wwwroot目录,彻底避免缓存问题:
- 将本地代码打包为zip文件,上传至Azure存储账户的Blob容器,并生成可读的SAS URL
- 在Azure门户的函数应用「配置」→「应用设置」中,添加或修改
WEBSITE_RUN_FROM_PACKAGE配置项,值为Blob的SAS URL - 保存设置后,函数应用会自动重启并加载新的代码包
4. 联系Azure官方支持清理内容存储
若以上方法均无效,可提交Azure支持工单,请求官方协助清理Azure Files内容共享中的wwwroot目录。官方支持拥有操作权限,可直接重置远程内容,无需重新创建Function App。
内容的提问来源于stack exchange,提问作者Khush Sanghani
相关产品推荐
相关产品推荐

