我正在使用arm模板来部署主题和订阅。我要部署的资源属于 Microsoft.Resources/deployments
类型,因为我的目标是部署所在位置外部的资源组。
如果主题已存在,则模板可以工作。
由于 Arm 模板资源是并行部署的,因此我需要在订阅之前部署主题 - this ordering is made possible by dependsOn
。
我遇到的问题是,因为主题的 "name"
值有一个 copyIndex()
,我不确定如何可以定位主题资源。
在我尝试过的许多事情中,以下是一些:
[concat(parameters('serviceBusNamespaceName'), '/',parameters('subscriptions')[copyIndex()].topic)]
[resourceId('Microsoft.Resources/deployments', 参数('主题'))]
[“topicLoop”]
以下是我的模板中的主题和订阅资源对象:
{
"apiVersion": "2018-02-01",
"type": "Microsoft.Resources/deployments",
"name": "[concat(parameters('serviceBusNamespaceName'), copyIndex())]",
"resourceGroup": "[parameters('sharedResourcesResourceGroupName')]",
"copy": {
"name": "topicLoop",
"count": "[length(parameters('topics'))]"
},
"properties": {
"mode": "Incremental",
"template": {
"$schema": "2018-05-01",
"contentVersion": "1.0.0.0",
"resources": [
{
"type": "Microsoft.ServiceBus/namespaces/topics",
"name": "[concat(parameters('serviceBusNamespaceName'), '/', parameters('topics')[copyIndex()])]",
"apiVersion": "2017-04-01",
"location": "[resourceGroup().location]",
"properties": {}
}
]
}
}
},
{
"apiVersion": "2018-02-01",
"type": "Microsoft.Resources/deployments",
"name": "[concat(parameters('subscriptions')[copyIndex()].topic, copyIndex())]",
"resourceGroup": "[parameters('sharedResourcesResourceGroupName')]",
"copy": {
"name": "subscriptionLoop",
"count": "[length(parameters('subscriptions'))]"
},
"properties": {
"mode": "Incremental",
"template": {
"$schema": "2018-05-01",
"contentVersion": "1.0.0.0",
"resources": [
{
"type": "Microsoft.ServiceBus/namespaces/topics/subscriptions",
"name": "[concat(parameters('serviceBusNamespaceName'), '/', parameters('subscriptions')[copyIndex()].topic, '/', parameters('subscriptions')[copyIndex()].subscription)]",
"apiVersion": "2017-04-01",
"location": "[resourceGroup().location]",
"properties": {}
}
]
}
},
"dependsOn": [
// what goes here?! I need to have this depend on the topics
]
}
最佳答案
dependsOn
值很简单:
“dependsOn”:[“topicLoop”]
但它需要位于最外部的资源上,而不是嵌套模板上。
关于azure - 如何在 copyIndex(数组)资源上使用 dependentOn?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58920593/