ARM部署私有端点时触发InvalidRequestFormat错误求助
排查ARM模板部署私有端点时的
InvalidRequestFormat错误 我帮你对比了你的ARM模板和门户生成的模板,发现两个关键细节问题,正是导致这个解析错误的原因:
问题1:JSON属性名大小写不匹配
Azure ARM API的JSON属性名是大小写敏感的,你的模板里用了大写开头的PrivateLinkServiceConnections,但正确的属性名应该是小写开头的privateLinkServiceConnections。这个大小写错误会直接导致Azure无法正确识别请求结构。
问题2:缺少privateLinkServiceConnections条目的name属性
门户生成的模板里,每个私有链接服务连接条目都包含name属性(值和私有端点名称一致即可),这个属性是ARM API要求的必填项,你的模板里遗漏了这一项,同样会触发请求格式无效的报错。
修正后的ARM模板片段
我针对以上问题修改了你的模板,修复了格式错误:
"resources": [ { "name": "[variables('privateEndpointName')]", "location": "[resourceGroup().location]", "type": "Microsoft.Network/privateEndpoints", "apiVersion": "2019-04-01", "properties": { "subnet": { "id": "[parameters('subnetId')]" }, "privateLinkServiceConnections": [ // 修正为小写开头的属性名 { "name": "[variables('privateEndpointName')]", // 添加必填的name属性 "properties": { "privateLinkServiceId": "[parameters('privateLinkResource')]", "groupIds": "[parameters('targetSubResource')]", "requestMessage": "[parameters('requestMessage')]" } } ] }, "tags": {} } ]
额外验证建议
- 确认
variables('privateEndpointName')的取值符合Azure资源命名规则(无特殊字符、长度合规) - 如果不需要自定义请求消息,也可以移除
requestMessage属性简化模板
修正后重新部署,应该就能解决这个解析错误了。
内容的提问来源于stack exchange,提问作者Manbearpiet
相关产品推荐
相关产品推荐

