我的仓库针对两个不同的环境具有不同的手臂模板(azure部署json文件)。每个环境都有其自己的服务总线名称空间。我想为手臂模板中的每个环境生成相同的主题列表。
我想将服务总线名称空间名称保留在它们的透视图臂模板中,但是我不确定是否以正确的方式进行操作。
主题列表将在parameter.json文件中。我想对两个环境/模板使用相同的参数文件。我也不确定这是否可能。在this article中,可能无法使用相同的参数文件。
我使用this site作为创建主题循环的参考。
以下是armtemplate.json文件的示例:
...
"parameters": {
"serviceBusnamespaceName": {
"type": "string","defaultvalue": "serviceBusname1","metadata": {
"description": "Name of the Service Bus namespace"
}
},"serviceBusTopics": {
"type": "array","metadata": {
"description": "List of topics"
}
},...
"resources": [
{
"apiVersion": "2017-04-01","name": "[parameters('serviceBusnamespaceName')]","type": "microsoft.ServiceBus/namespaces","location": "[resourceGroup().location]","sku": {
"name": "Standard"
},"properties": {}
},{
"apiVersion": "2017-04-01","name": "[concat(parameters('serviceBusnamespaceName'),'/',parameters('serviceBusTopics')[copyIndex()])]","type": "microsoft.ServiceBus/namespaces/topics","copy": {
"name": "topicLoop","count": "[length(parameters('serviceBusTopics'))]"
},"properties": {},"dependsOn": [
"[concat('microsoft.ServiceBus/namespaces/',parameters('serviceBusnamespaceName'))]"
]
},....
这是parameters.json文件:
"parameters": {
"serviceBusTopics": {
"value": [
"topic1","topic2"
]
}
}
我已将Azure Pipelines配置为构建和部署Azure资源。当我导航到Azure门户并检查每个服务总线时,希望看到创建的主题。但是,这对我不起作用。
我可以将同一参数文件用于不同的模板/环境吗? 语法上,我有任何错误吗?