0
copy element 기능을 통해 내 Azure ARM 배포 템플릿에서 "중첩 된 루프"를 만들려고합니다. 동일한 인스턴스를 여러 개 만들 수 있습니다. 리소스 유형 (Microsoft.Web/sites/hostnameBindings 제 경우)Azure ARM 배포 템플릿의 복사 요소 내 요소를 복사하여 여러 인스턴스 작성
특히 내가 여러 애플 리케이션 (하늘빛 애플 리케이션 서비스 웹 사이트)에 여러 호스트 이름을 바인딩하는 중이 야.
이것이 가능합니까? 또는 linked templates 경로로 이동해야합니까?
여기까지 시도했지만 지금까지 제대로 작동하지 않습니다.
parameters.json
{
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentParameters.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"appList": {
"value": [
{ "appName": "app1", "hostNames": [ "app1.qqq.example.com", "app1.ttt.example.com" ] },
{ "appName": "app2", "hostNames": [ "app2.qqq.example.com" , "app2.ttt.example.com" ] },
{ "appName": "app3", "hostNames": [ "app3.qqq.example.com", "app3.ttt.example.com" ] }
]
}
}
}
template.json는
{
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"appList": { "type": "array" }
},
"resources": [
{
"type": "Microsoft.Web/sites/hostnameBindings",
"name": "parameters('appList')[copyIndex('webAppCopy')]/parameters('appList')[copyIndex('webAppCopy')].hostNames",
"copy": [
{
"name": "webAppCopy",
"count": "[length(parameters('appList'))]"
}
],
"apiVersion": "2016-03-01",
"location": "[resourceGroup().location]"
}
],
"outputs": {}
}
감사합니다. @ JohnLusk. 앱당 동일한 호스트 이름을 사용했다면이 솔루션을 사용할 수 있습니다 (app1에 3 개의 호스트 이름이 있고 app2에 5 개의 호스트 이름이 있음). 아직도 "일반적인"해결책을 찾고 있습니다. –
"condition"요소에 새로운 (ish) "if"문을 사용할 수 있는지 알아보기 위해 copyIndex가 루프의 반복에서 배포를 시도하지 못하도록하는 것이 좋습니다. 호스트 이름 배열. 잡히지 않는 것은 복잡해질 수 있다는 것입니다. copyIndex가 "조건"에서 지원되는지조차 확신하지 못합니다. –