【发布时间】:2016-09-29 22:20:00
【问题描述】:
我在 ARM 中有以下资源
{
"name": "[parameters('dbServerName')]",
"type": "Microsoft.Sql/servers",
"location": "[resourceGroup().location]",
"tags": {
"displayName": "SqlServer"
},
"apiVersion": "2014-04-01-preview",
"properties": {
"administratorLogin": "[parameters('dbuser')]",
"administratorLoginPassword": "[parameters('dbpassword')]",
"version": "12.0"
},
"resources": [
{
"name": "[parameters('dbName')]",
"type": "databases",
"location": "[resourceGroup().location]",
"tags": {
"displayName": "[parameters('dbName')]"
},
"apiVersion": "2014-04-01-preview",
"dependsOn": [
"[parameters('dbServerName')]"
],
"properties": {
"edition": "[parameters('edition')]",
"collation": "[parameters('collation')]",
"maxSizeBytes": "[parameters('maxSizeBytes')]",
"requestedServiceObjectiveName": "[parameters('requestedServiceObjectiveName')]"
}
},
{
"name": "[parameters('hivedbName')]",
"type": "databases",
"location": "[resourceGroup().location]",
"tags": {
"displayName": "[parameters('hivedbName')]"
},
"apiVersion": "2014-04-01-preview",
"dependsOn": [
"[parameters('dbServerName')]"
],
"properties": {
"edition": "[parameters('edition')]",
"collation": "[parameters('collation')]",
"maxSizeBytes": "[parameters('maxSizeBytes')]",
"requestedServiceObjectiveName": "[parameters('requestedServiceObjectiveName')]"
}
},
{
"name": "[parameters('ooziedbName')]",
"type": "databases",
"location": "[resourceGroup().location]",
"tags": {
"displayName": "[parameters('ooziedbName')]"
},
"apiVersion": "2014-04-01-preview",
"dependsOn": [
"[parameters('dbServerName')]"
],
"properties": {
"edition": "[parameters('edition')]",
"collation": "[parameters('collation')]",
"maxSizeBytes": "[parameters('maxSizeBytes')]",
"requestedServiceObjectiveName": "[parameters('requestedServiceObjectiveName')]"
}
},
{
"type": "firewallrules",
"apiVersion": "2014-04-01-preview",
"dependsOn": [
"[parameters('dbServerName')]"
],
"location": "[resourceGroup().location]",
"name": "AllowAllWindowsAzureIps",
"properties": {
"endIpAddress": "0.0.0.0",
"startIpAddress": "0.0.0.0"
}
}
]
},
想要在上面有另一个资源依赖,所以我尝试在下一个资源的依赖中添加以下内容
[concat('Microsoft.Sql/servers,'/',parameters('dbServerName'),'/databases/',parameters('hivedbName'))]
但出现以下错误:
New-AzureRmResourceGroupDeployment : 4:46:59 PM - Error: Code=InvalidTemplate; Message=Deployment template validation failed: 'Circular dependency detected on resource: '/subscriptions/######/resourceGroups/QA/providers/Microsoft.Sql/servers/sparkqa/databases/SparkQAHive'.
然后我尝试了
"dependsOn": [
"[concat('Microsoft.Sql/servers/', parameters('dbServerName'))]",
"[concat('Microsoft.Sql/servers,'/',parameters('dbServerName'),'/databases/',parameters('hivedbName'))]"
],
但它甚至在创建 concat('Microsoft.Sql/servers,'/',parameters('dbServerName'),'/databases/',parameters('hivedbName')) 之前仍然开始部署资源
这是完整的模板https://paste.fedoraproject.org/454465/14767382/raw/
有人知道这里有什么问题吗?
【问题讨论】:
-
更改后发布完整的 json 模板
-
我已经添加了完整模板的链接,以防万一paste.fedoraproject.org/454465/14767382/raw
-
那么HDInsight集群是在SQL Server和DB之前创建的吗?你是怎么观察到的?
-
它首先创建存储帐户和 SQL 服务器,然后在创建数据库之前开始创建 HDInsight 群集。我在资源组中签入了新部署。
标签: powershell azure azure-sql-database azure-resource-manager