我如何在copyIndex(数组)资源上使用dependsOn?

问题描述 投票:0回答:2

我正在使用手臂模板来部署主题和订阅。我要部署的资源为Microsoft.Resources/deployments类型,因为我的目标是部署所在外部的资源组。

如果主题已经存在,则模板可以工作。由于arm模板资源是并行部署的,因此我需要让主题部署之前订阅-this ordering is made possible by dependsOn

我遇到的问题是,因为主题的dependsOn值具有"name",所以我不确定如何定位主题资源。

我尝试过的很多东西中,有一些:

  • copyIndex()
  • [concat(parameters('serviceBusNamespaceName'), '/', parameters('subscriptions')[copyIndex()].topic)]
  • [resourceId('Microsoft.Resources/deployments', parameters('topics'))]

以下是模板中的主题和订阅资源对象:

["topicLoop"]
azure azure-resource-manager arm-template
2个回答
0
投票

是,如果可以生成每个名称,则可以对每个单独的资源使用 { "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整个循环,或者通过使用其名称引用它们来循环内部的单个资源


0
投票

dependsOn值很简单:

© www.soinside.com 2019 - 2024. All rights reserved.