如何修改Azure函数应用的LinuxFxVersion从.NET切换为Python
解决方法
你遇到的两个报错分别是PowerShell语法解析问题和函数运行时配置不匹配问题,按以下步骤操作即可完成切换:
报错原因说明
- 第一个
'3.9' is not recognized报错:|是PowerShell的默认管道运算符,即使使用单引号包裹参数,传递给Azure CLI时依然会被PowerShell截断解析,导致3.9被识别为独立命令。 - 第二个
Bad Request报错:原有.NET栈的函数应用默认配置了FUNCTIONS_WORKER_RUNTIME=dotnet的应用设置,仅修改linux-fx-version不同步修改该参数时,Azure后端校验不通过。
操作步骤
- 转义管道符执行Linux运行时版本修改命令
PowerShell环境下使用反引号(PowerShell专属转义符)对|做转义,执行命令:
az functionapp config set --name <func_name> --resource-group <rg> --linux-fx-version "Python`|3.9"
- 修改函数工作进程运行时配置
执行命令更新应用设置,将工作进程 runtime 切换为Python:
az functionapp config appsettings set --name <func_name> --resource-group <rg> --settings FUNCTIONS_WORKER_RUNTIME=python
- 重启函数应用使配置生效(可选)
az functionapp restart --name <func_name> --resource-group <rg>
配置验证
执行以下命令检查配置是否生效,返回Python|3.9即为配置成功:
az functionapp config show --name <func_name> --resource-group <rg> --query linuxFxVersion -o tsv
内容的提问来源于stack exchange,提问作者michasaucer
相关产品推荐
相关产品推荐

