部署App Service Environment v2多角色池遇BadRequest错误求助
问题原因与解决方案
问题根源
你遇到的错误是因为ASE v2(kind: version2)不支持Microsoft.Web/hostingEnvironments/multiRolePools资源类型,该资源仅适用于ASE v3(kind: version3)。
解决方案
根据你的需求选择以下两种方案之一:
方案1:切换到ASE v3(推荐,若需使用multiRolePools)
修改模板中Microsoft.Web/hostingEnvironments资源的kind属性为version3,确保与multiRolePools兼容:
{ "type": "Microsoft.Web/hostingEnvironments", "apiVersion": "2022-09-01", "name": "[parameters('resourceName')]", "location": "East US", "kind": "version3", // 关键修改:设置为version3 "properties": { // 其他ASE v3所需配置,如virtualNetwork关联信息等 } }
同时保留原有的multiRolePools配置,注意sku与properties字段的一致性(ASE v3中multiRolePools的sku定义与实例规格需匹配)。
方案2:继续使用ASE v2,改用workerPools配置角色池
若需保留ASE v2,将multiRolePools替换为workerPools资源类型,示例如下:
{ "type": "Microsoft.Web/hostingEnvironments/workerPools", "apiVersion": "2022-09-01", "name": "[concat(parameters('resourceName'), '/1')]", // workerPool编号从1开始 "location": "East US", "dependsOn": [ "[resourceId('Microsoft.Web/hostingEnvironments', parameters('resourceName'))]" ], "properties": { "workerSizeId": 0, // 对应Standard_D1_V2的sizeId,0=Small、1=Medium、2=Large "workerCount": 2, "workerSize": "Standard_D1_V2" } }
ASE v2的workerPools通过workerSizeId定义实例大小,需与workerSize字段对应。
内容的提问来源于stack exchange,提问作者vinzzz
相关产品推荐
相关产品推荐

