部署Azure Bot时执行az deployment命令报appType参数不识别如何解决
Azure Bot部署参数报错解决方案
报错根因
你当前使用的template-with-new-rg.json部署模板未定义appType参数,同时你的部署命令末尾存在多余的无效值bottestservice,两个问题共同触发了参数校验报错,该问题和Azure CLI 2.30.0版本无关,无需调整CLI版本。
修复步骤
- 第一步:删除部署命令末尾多余的无效参数
bottestservice,该值无对应的参数名,会导致参数解析逻辑混乱 - 第二步:如果你使用的是旧版官方Bot部署模板,直接移除命令中的
appType="MultiTenant"参数即可,旧版模板默认采用多租户配置,不需要额外传参,调整后的部署命令如下:
az deployment sub create --template-file "deploymentTemplates/template-with-new-rg.json" --location francecentral --parameters appId="aa14566a-c201-4488-8e7c-be837b921c50" appSecret="guyguyg" botId="bottest" botSku=F0
- 如果你确实需要显式指定
appType参数,可先打开本地deploymentTemplates/template-with-new-rg.json文件,在parameters配置节点下手动添加appType参数定义:
"appType": { "type": "string", "defaultValue": "MultiTenant", "allowedValues": [ "SingleTenant", "MultiTenant", "UserAssignedMSI" ], "metadata": { "description": "Bot应用注册的类型配置" } }
参数添加完成后再执行带appType配置的部署命令即可。
预校验建议
正式部署前可先执行校验命令提前排查参数、模板匹配问题,避免部署失败:
az deployment sub validate --template-file "deploymentTemplates/template-with-new-rg.json" --location francecentral --parameters appId="aa14566a-c201-4488-8e7c-be837b921c50" appSecret="guyguyg" botId="bottest" botSku=F0
校验返回无错误后再执行create命令完成部署。
内容的提问来源于stack exchange,提问作者poiuytrez
相关产品推荐
相关产品推荐

