【问题标题】:Azure ARM dependson database clauseAzure ARM 依赖数据库子句
【发布时间】: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


【解决方案1】:

你应该依赖于实际的资源,而不是仅仅依赖于 sql server 名称:

            "dependsOn": [
                "[concat('Microsoft.Sql/servers/', parameters('serverName'))]"
            ],

【讨论】:

  • 我已经更新了我的问题,不符合您的建议。
猜你喜欢
  • 1970-01-01
  • 2014-05-09
  • 2016-11-17
  • 2020-03-13
  • 1970-01-01
  • 2020-04-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多