ARM模板部署Azure Traffic Manager时resourceTargetId报错求助
解决ARM模板部署Azure Traffic Manager时的resourceTargetId错误
错误原因分析
你遇到的错误核心在于ARM模板中端点配置的两处问题:
- 端点的
type字段写法错误:在Traffic Manager配置文件的properties.endpoints数组内,Azure端点的类型只需写AzureEndpoints,而非完整的资源命名空间路径 - 多余的
target字段:对于AzureEndpoints,指定resourceTargetId后,系统会自动从关联资源获取目标地址,手动填写URL会与resourceTargetId产生冲突
修正后的ARM模板
{ "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "1.0.0.0", "parameters": { "DnsName": { "type": "string" }, "Name": { "type": "String" }, "RoutingMethod": { "type": "String" }, "Location": { "type": "String" } }, "resources": [ { "type": "Microsoft.Network/trafficmanagerprofiles", "apiVersion": "2018-08-01", "name": "[parameters('Name')]", "location": "[parameters('Location')]", "properties": { "profileStatus": "Enabled", "trafficRoutingMethod": "[parameters('RoutingMethod')]", "dnsConfig": { "relativeName": "[parameters('DnsName')]", "ttl": 30 }, "monitorConfig": { "protocol": "HTTPS", "port": 443, "path": "/", "expectedStatusCodeRanges": [ { "min": 200, "max": 202 }, { "min": 301, "max": 302 } ] }, "endpoints": [ { "type": "AzureEndpoints", "name": "Primarysite", "properties": { "resourceTargetId": "/subscriptions/xxxxxxxxx-xxxxx-xxxxx-xxxx-xxxxxxxxxxxxxxxx/resourceGroups/RGTest/providers/Microsoft.Web/sites/website1", "endpointStatus": "Enabled", "endpointLocation": "eastus" } }, { "type": "AzureEndpoints", "name": "Secondarysite", "properties": { "resourceTargetId": "/subscriptions/xxxxxxxxx-xxxxx-xxxxx-xxxx-xxxxxxxxxxxxxxxxx/resourceGroups/RGTest/providers/Microsoft.Web/sites/website2", "endpointStatus": "Enabled", "endpointLocation": "westus" } } ] } } ] }
额外验证点
- 确认部署模板的账号对resourceTargetId指向的Web App拥有读取权限
- 检查resourceTargetId的订阅ID、资源组名称、资源名称是否完全正确,避免拼写错误
内容的提问来源于stack exchange,提问作者Fenomatik
相关产品推荐
相关产品推荐

