问题描述
很常见,当有多个分配给路由规则的前端ID时,它们的描述如下:
...
"routingRules": [
{
"name": "routingRule1","properties": {
"frontendEndpoints": [
{
"id": "[resourceId('Microsoft.Network/frontDoors/frontendEndpoints',parameters('frontDoorName'),'frontendEndpoint')]"
},{
"id": "[resourceId('Microsoft.Network/frontDoors/frontendEndpoints','frontendEndpoint2')]"
}
],...
就我而言,我想作为参数类型“数组”来执行此操作,但是收到错误消息。请在下面查看我的模板,参数文件和错误消息
这是前门ARM参数部署文件
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentParameters.json#","contentVersion": "1.0.0.0","parameters": {
"frontdoor_name": {
"value": "frontdoortest"
},"frontends_all": {
"value": [
{
"name": "fe1","properties": {
"hostName": "frontdoortest.azurefd.net","sessionAffinityEnabledState": "disabled","sessionAffinityTtlSeconds": 0,"resourceState": "Enabled"
}
},{
"name": "fe1customdns1","properties": {
"hostName": "dev.custom1.com","sessionAffinityEnabledState": "Enabled",{
"name": "fe1customdns2","properties": {
"hostName": "dev.custom2.com","resourceState": "Enabled"
}
}
]
},"frontends_one": {
"value": [
{
"id": "[concat(resourceId('Microsoft.Network/frontdoors',parameters('frontdoor_name')),'/FrontendEndpoints/fe1customdns1')]",},{
"id": "[concat(resourceId('Microsoft.Network/frontdoors','/FrontendEndpoints/fe1customdns2')]",}
]
}
}
这是前门ARM资源部署模板的一部分
...
"parameters": {
"frontends_all": {
"type": "array"
},"frontends_one": {
"type": "array"
},"frontdoor_name": {
"type": "string"
}
}
...
{
"type": "Microsoft.Network/frontDoors","apiVersion": "2020-01-01","name": "[parameters('frontdoor_name')]","location": "Global","properties": {
"resourceState": "Enabled","frontendEndpoints": "[parameters('frontends_all')]",#### NO ERROR
"routingRules": [
{
"name": "routingRule1","properties": {
"frontendEndpoints": "[parameters('frontends_one')]",#### ERROR !!!
"acceptedProtocols": [
"Https"
],"patternsToMatch": [
"/*",],"enabledState": "Enabled","resourceState": "Enabled","routeConfiguration": {
"@odata.type": "#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration","forwardingProtocol": "MatchRequest","backendPool": {
"id": "[concat(resourceId('Microsoft.Network/frontdoors','/backendpools/test')]"
}
}
}
}
...
[错误] BadRequest:RoutingRule routingRule1中缺少FrontendEndpoint [resourceId('Microsoft.Network/frontDoors/frontendEndpoints',parameters('frontdoor_name'),'fe1customdns2')]的主机名,缺少FrontendEndpoint [resourceId(' RoutingRule routingRule1中的Microsoft.Network/frontDoors/frontendEndpoints',parameters('frontdoor_name'),'fe1customdns')]; 资源引用无效:“ [resourceId('Microsoft.Network/frontDoors/frontendEndpoints',parameters('frontdoor_name'),'fe1customdns2')]”; 资源引用无效:“ [[resourceId('Microsoft.Network/frontDoors/frontendEndpoints',parameters('frontdoor_name'),'fe1customdns1')]”
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)