使用ARM模板为Log Analytics工作区启用VM Insights部署报错
问题场景
通过ARM模板为Log Analytics工作区启用VM Insights功能时,部署操作触发失败。
使用的原始部署模板如下:
{ "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "1.0.0.0", "resources": [ { "name": "VMISolutionDeployment", "properties": { "mode": "Incremental", "name": "VMInsights(Dev-Loganalyticsworkspace)", "workspaceResourceId": "/subscriptions/d6b4b525-b127-4ff9-8b45-8cec1f768475/resourceGroups/Sajith-LogAnalytics-Test/providers/Microsoft.OperationalInsights/workspaces/Dev-Loganalyticsworkspace" }, "plan": { "name": "VMInsights(Dev-Loganalyticsworkspace)", "product": "OMSGallery/VMInsights", "publisher": "Microsoft" }, "type": "Microsoft.OperationsManagement/solutions", "location": "UK South", "apiVersion": "2015-11-01-preview" } ] }
部署返回的错误信息如下:
{ "status": "Failed", "error": { "code": "DeploymentFailed", "message": "At least one resource deployment operation failed. Please list deployment operations for details. Please see https://aka.ms/DeployOperations for usage details.", "details": [ { "code": "BadRequest", "message": "{\r\n \"error\": {\r\n \"code\": \"InvalidParameter\",\r\n \"message\": \"The value supplied for property must not be null. Operation Id: '5c6045e36ab28c4b899737e9358b91b9'\",\r\n \"target\": \"plan.promotionCode\"\r\n }\r\n}" } ] } }
报错明确指向plan.promotionCode参数传入值不能为空。
排查思路
- 首先定位错误指向的参数位置:错误target明确为资源
plan块下的promotionCode字段,优先核对该资源类型的模板规范,确认该字段是否为必填项。 - 核对当前使用的API版本要求:
2015-11-01-preview版本的Microsoft.OperationsManagement/solutions资源,对画廊类解决方案资源,强制要求plan块必须包含promotionCode字段,无实际促销码时也不能缺省该字段。 - 同步检查资源命名规范:该类型资源的顶层
name字段必须和plan.name取值完全一致,格式固定为解决方案名称(工作区名称),否则即使修复promotionCode问题后续也会触发命名校验错误。
解决方案
按照以下两点修正模板即可正常部署:
- 在
plan配置块中补充promotionCode字段,VM Insights属于Azure内置免费解决方案,无促销码,直接赋值为空字符串即可满足校验要求。 - 将资源顶层的
name字段取值从VMISolutionDeployment修改为和plan.name一致的VMInsights(Dev-Loganalyticsworkspace),符合资源命名规则,同时可移除properties块中冗余的name字段,避免多位置取值不一致的风险。
修正后的完整可用模板如下:
{ "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "1.0.0.0", "resources": [ { "name": "VMInsights(Dev-Loganalyticsworkspace)", "properties": { "mode": "Incremental", "workspaceResourceId": "/subscriptions/d6b4b525-b127-4ff9-8b45-8cec1f768475/resourceGroups/Sajith-LogAnalytics-Test/providers/Microsoft.OperationalInsights/workspaces/Dev-Loganalyticsworkspace" }, "plan": { "name": "VMInsights(Dev-Loganalyticsworkspace)", "product": "OMSGallery/VMInsights", "publisher": "Microsoft", "promotionCode": "" }, "type": "Microsoft.OperationsManagement/solutions", "location": "UK South", "apiVersion": "2015-11-01-preview" } ] }
内容的提问来源于stack exchange,提问作者Sajith
相关产品推荐
相关产品推荐

