Azure函数在过渡部署槽正常运行,交换至生产槽后失败
Azure函数部署槽运行时版本同步问题解决方案
1. 能否直接修改生产槽的运行时版本?
可以直接修改,操作前做好回滚准备即可:
- 修改前先记录生产槽当前的
FUNCTIONS_EXTENSION_VERSION配置值(当前是custom (~2.0)),留作回滚备份。 - 进入Azure门户的函数应用生产槽→「配置」→「应用程序设置」,找到
FUNCTIONS_EXTENSION_VERSION,将值改为~4,保存后函数应用会自动重启生效。 - 回滚操作:如果修改后出现异常,直接将该配置改回原
custom (~2.0)值,重启后即可恢复旧运行时版本。
2. 如何确保部署槽交换时同步运行时版本等配置?
默认情况下,FUNCTIONS_EXTENSION_VERSION属于槽特定设置,不会随槽交换同步。要让这类配置在交换时同步,需调整如下:
- 打开过渡槽的「配置」→「应用程序设置」。
- 找到
FUNCTIONS_EXTENSION_VERSION,点击右侧的「槽设置」开关,取消其槽特定标记(切换为「不是槽特定」)。 - 保存设置后,再次执行过渡槽与生产槽的交换操作,运行时版本配置就会同步到生产槽。
- 若还有其他需要同步的依赖配置(比如
.NET版本对应的WEBSITE_DOTNET_VERSION),同样检查并取消其槽特定标记后再交换。
额外注意事项
- 修改运行时版本或执行槽交换前,务必在过渡槽完成全量测试,确认所有函数在目标运行时版本下正常运行。
- Visual Studio发布到过渡槽时会自动设置运行时版本,但不会修改槽特定标记,因此需要手动调整上述设置来保证交换时的配置同步。
内容的提问来源于stack exchange,提问作者Paugh
相关产品推荐
相关产品推荐

