Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/azure/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
azure SQL DB导入和复制_Azure_Azure Sql Database_Azure Resource Manager - Fatal编程技术网

azure SQL DB导入和复制

azure SQL DB导入和复制,azure,azure-sql-database,azure-resource-manager,Azure,Azure Sql Database,Azure Resource Manager,我正在开发一个ARM模板,该模板将要求一个以逗号分隔的db名称列表,然后使用copyIndex函数创建它们。这方面很好,但我的解决方案的下一步不是。接下来我要做的是为每个数据库导入一个.bacpac文件,以便在完成后可以使用它 验证错误表明问题出在导入资源dependsOn中的concat函数上。我已经用几种不同的方法对它进行了测试,看不出哪里是错的 我看到的确切错误信息是 无法处理资源“/subscriptions/xxxxxx-xxxxx-xxxxx-xxxxxx-xxxxx/resourc

我正在开发一个ARM模板,该模板将要求一个以逗号分隔的db名称列表,然后使用copyIndex函数创建它们。这方面很好,但我的解决方案的下一步不是。接下来我要做的是为每个数据库导入一个.bacpac文件,以便在完成后可以使用它

验证错误表明问题出在导入资源dependsOn中的concat函数上。我已经用几种不同的方法对它进行了测试,看不出哪里是错的

我看到的确切错误信息是

无法处理资源“/subscriptions/xxxxxx-xxxxx-xxxxx-xxxxxx-xxxxx/resourceGroups/testGroup/providers/Microsoft.Sql/servers/testsql/databases/CustomersDB/extensions/import”在第“858”行和第“10”列的模板语言表达式为语言函数“concat”提供的参数无效。所有或任何参数都必须是数组

**添加了整个模板

"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"location": {
  "type": "string",
  "defaultValue": "centralus"
},
"sqlAdminUsername": {
  "type": "string"
},
"sqlAdminPassword": {
  "type": "securestring"
},
"sqlServerName": {
  "type": "string"
},
"sqlDatabaseNames": {
  "type": "array",
  "defaultValue": [
    "CustomersDB",
    "WideWorldImporters-Standard"
  ]
},
"sqlEdition": {
  "type": "string",
  "defaultValue": "Standard"
},
"sqlRequestedServiceObjectiveName": {
  "type": "string",
  "defaultValue": "S2"
},
"sqlMaxSizeBytes": {
  "type": "string",
  "defaultValue": "268435456000"
},
"publicIP": {
  "type": "string"
},
"_artifactsLocationSasToken": {
  "type": "securestring"
},
"_artifactsLocation": {
  "type": "string"
}
},
"variables": {
"storageKeyType": "SharedAccessKey",
"collation": "SQL_Latin1_General_CP1_CI_AS"
},
"resources": [
  {
    "name": "[parameters('sqlServerName')]",
    "type": "Microsoft.Sql/servers",
    "apiVersion": "2014-04-01-preview",
    "location": "[parameters('location')]",
    "properties": {
      "administratorLogin": "[parameters('sqlAdminUsername')]",
      "administratorLoginPassword": "[parameters('sqlAdminPassword')]",
      "version": "12.0"
    },
    "resources": [
      {
        "name": "AllowAllWindowsAzureIps",
        "type": "firewallrules",
        "apiVersion": "2014-04-01-preview",
        "location": "[parameters('location')]",
        "dependsOn": [
          "[concat('Microsoft.Sql/servers/', parameters('sqlServerName'))]"
        ],
        "properties": {
          "endIpAddress": "0.0.0.0",
          "startIpAddress": "0.0.0.0"
        }
      },
      {
        "name": "Allow_Remote_SSMS",
        "type": "firewallrules",
        "apiVersion": "2014-04-01-preview",
        "location": "[parameters('location')]",
        "dependsOn": [
          "[concat('Microsoft.Sql/servers/', parameters('sqlServerName'))]"
        ],
        "properties": {
          "startIpAddress": "[parameters('publicIP')]",
          "endIpAddress": "[parameters('publicIP')]"
        }
      }
    ]
  },
  {
    "name": "[concat(parameters('sqlServerName'), '/', parameters('sqlDatabaseNames')[copyIndex()])]",
    "type": "Microsoft.Sql/servers/databases",
    "location": "[parameters('location')]",
    "apiVersion": "2014-04-01-preview",
    "copy": {
      "count": "[length(parameters('sqlDatabaseNames'))]",
      "name": "sql-copy"
    },
    "dependsOn": [ "[resourceId('Microsoft.Sql/servers/', parameters('sqlServerName'))]" ],
    "properties": {
      "collation": "[variables('collation')]",
      "edition": "[parameters('sqlEdition')]",
      "maxSizeBytes": "[parameters('sqlMaxSizeBytes')]",
      "requestedServiceObjectiveName": "[parameters('sqlRequestedServiceObjectiveName')]"
    }
  },
  {
    "name": "[concat(parameters('sqlServerName'), '/', parameters('sqlDatabaseNames')[copyIndex()],'/','import')]",
    "type": "Microsoft.Sql/servers/databases/extensions",
    "apiVersion": "2014-04-01-preview",
    "dependsOn": [ "sql-copy" ],
    "copy": {
      "name": "sql-import",
      "count": "[length(parameters('sqlDatabaseNames'))]"
    },
    "properties": {
      "storageKeyType": "[variables('storageKeyType')]",
      "storageKey": "[parameters('_artifactsLocationSasToken')]",
      "storageUri": "[concat(parameters('_artifactsLocation'), '/', 'databaseFiles', '/', parameters('sqlDatabaseNames'), '.bacpac')]",
      "administratorLogin": "[parameters('sqlAdminUsername')]",
      "administratorLoginPassword": "[parameters('sqlAdminPassword')]",
      "operationMode": "Import"
    }
  }
],
}

据我所知,我们无法在嵌套资源中使用copyindex函数

如果运行arm模板,您将面临以下错误:

不支持复制嵌套资源。有关用法的详细信息,请参阅“”

所以我建议您将嵌套资源作为arm模板中的根资源移动。然后你可以使用copyindex

更多详细信息,请参考以下arm模板:

注意:用数据库名称替换参数orb

{
  "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "brandosqlAdminLogin": {
      "type": "string",
      "minLength": 1
    },
    "brandosqlAdminLoginPassword": {
      "type": "string"
    },
    "org": {
      "type": "array",
      "defaultValue": [
        "contoso",
        "fabrikam",
        "coho"
      ]
    },
    "copydatabaseCollation": {
      "type": "string",
      "minLength": 1,
      "defaultValue": "SQL_Latin1_General_CP1_CI_AS"
    },
    "copydatabaseEdition": {
      "type": "string",
      "defaultValue": "Basic",
      "allowedValues": [
        "Basic",
        "Standard",
        "Premium"
      ]
    },
    "copydatabaseRequestedServiceObjectiveName": {
      "type": "string",
      "defaultValue": "Basic",
      "allowedValues": [
        "Basic",
        "S0",
        "S1",
        "S2",
        "P1",
        "P2",
        "P3"
      ],
      "metadata": {
        "description": "Describes the performance level for Edition"
      }
    },
    "copy2StorageKeyType": {
      "type": "string",
      "minLength": 1
    },
    "copy2StorageKey": {
      "type": "string"
    },
    "copy2StorageUri": {
      "type": "string",
      "minLength": 1
    },
    "copy2AdministratorLogin": {
      "type": "string",
      "minLength": 1
    },
    "copy2AdministratorLoginPassword": {
      "type": "string"
    },
    "serverDatabaseName": {
      "type": "array",
      "defaultValue": [
        "brandoimprottest/contoso",
        "brandoimprottest/fabrikam",
        "brandoimprottest/coho"
      ]
    },

    "copysqldatabase2Collation": {
      "type": "string",
      "minLength": 1,
      "defaultValue": "SQL_Latin1_General_CP1_CI_AS"
    },
    "copysqldatabase2Edition": {
      "type": "string",
      "defaultValue": "Basic",
      "allowedValues": [
        "Basic",
        "Standard",
        "Premium"
      ]
    },
    "copysqldatabase2RequestedServiceObjectiveName": {
      "type": "string",
      "defaultValue": "Basic",
      "allowedValues": [
        "Basic",
        "S0",
        "S1",
        "S2",
        "P1",
        "P2",
        "P3"
      ],
      "metadata": {
        "description": "Describes the performance level for Edition"
      }
    }

  },
  "variables": {
    "brandosqlName": "brandoimprottest"
    },
  "resources": [
    {
      "name": "[variables('brandosqlName')]",
      "type": "Microsoft.Sql/servers",
      "location": "[resourceGroup().location]",
      "apiVersion": "2014-04-01-preview",
      "dependsOn": [],
      "tags": {
        "displayName": "brandosql"
      },
      "properties": {
        "administratorLogin": "[parameters('brandosqlAdminLogin')]",
        "administratorLoginPassword": "[parameters('brandosqlAdminLoginPassword')]"
      },
      "resources": [
        {
          "name": "AllowAllWindowsAzureIps",
          "type": "firewallrules",
          "location": "[resourceGroup().location]",
          "apiVersion": "2014-04-01-preview",
          "dependsOn": [
            "[resourceId('Microsoft.Sql/servers', variables('brandosqlName'))]"
          ],
          "properties": {
            "startIpAddress": "0.0.0.0",
            "endIpAddress": "0.0.0.0"
          }
        }
      ]
    },
    {
      "name": "[concat(variables('brandosqlName'), '/', parameters('org')[copyIndex()])]",
      "type": "Microsoft.Sql/servers/databases",
      "location": "[resourceGroup().location]",
      "apiVersion": "2014-04-01-preview",
      "copy": {
        "count": 3,
        "name": "sql-copy"
      },
      "dependsOn": [ "[resourceId('Microsoft.Sql/servers', variables('brandosqlName'))]" ],
      "tags": {
        "displayName": "copysqldatabase2"
      },
      "properties": {
        "collation": "[parameters('copysqldatabase2Collation')]",
        "edition": "[parameters('copysqldatabase2Edition')]",
        "maxSizeBytes": "1073741824",
        "requestedServiceObjectiveName": "[parameters('copysqldatabase2RequestedServiceObjectiveName')]"
      }
    },
    {
      "name": "[concat(variables('brandosqlName'), '/', parameters('org')[copyIndex()],'/','aaaa')]",
      "type": "Microsoft.Sql/servers/databases/extensions",
      "apiVersion": "2014-04-01-preview",
      "dependsOn": [ "sql-copy" ],
      "tags": {
        "displayName": "copy3"
      },
      "copy": {
        "name": "sql-copy2",
        "count": 3
      },
      "properties": {
        "storageKeyType": "[parameters('copy2StorageKeyType')]",
        "storageKey": "[parameters('copy2StorageKey')]",
        "storageUri": "[parameters('copy2StorageUri')]",
        "administratorLogin": "[parameters('copy2AdministratorLogin')]",
        "administratorLoginPassword": "[parameters('copy2AdministratorLoginPassword')]",
        "operationMode": "Import"
      }
    }
  ],
  "outputs": {}
}
结果:


我还测试了你的模板,我发现你的导入扩展中的存储url有问题。我用主存储密钥和url更改了它。它工作得很好

模板:

{
  "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "location": {
      "type": "string",
      "defaultValue": "eastasia"
    },
    "sqlAdminUsername": {
      "type": "string"
    },
    "sqlAdminPassword": {
      "type": "string"
    },
    "sqlServerName": {
      "type": "string"
    },
    "sqlDatabaseNames": {
      "type": "array",
      "defaultValue": [
        "CustomersDB",
        "WideWorldImporters-Standard"
      ]
    },
    "sqlEdition": {
      "type": "string",
      "defaultValue": "Standard"
    },
    "sqlRequestedServiceObjectiveName": {
      "type": "string",
      "defaultValue": "S2"
    },
    "sqlMaxSizeBytes": {
      "type": "string",
      "defaultValue": "268435456000"
    },
    "publicIP": {
      "type": "string"
    },
    "copy2StorageKeyType": {
      "type": "string",
      "minLength": 1
    },
    "copy2StorageKey": {
      "type": "string"
    },
    "copy2StorageUri": {
      "type": "string",
      "minLength": 1
    }

  },
  "variables": {
    "storageKeyType": "SharedAccessKey",
    "collation": "SQL_Latin1_General_CP1_CI_AS"
  },
  "resources": [
    {
      "name": "[parameters('sqlServerName')]",
      "type": "Microsoft.Sql/servers",
      "apiVersion": "2014-04-01-preview",
      "location": "[parameters('location')]",
      "properties": {
        "administratorLogin": "[parameters('sqlAdminUsername')]",
        "administratorLoginPassword": "[parameters('sqlAdminPassword')]",
        "version": "12.0"
      },
      "resources": [
        {
          "name": "AllowAllWindowsAzureIps",
          "type": "firewallrules",
          "apiVersion": "2014-04-01-preview",
          "location": "[parameters('location')]",
          "dependsOn": [
            "[concat('Microsoft.Sql/servers/', parameters('sqlServerName'))]"
          ],
          "properties": {
            "endIpAddress": "0.0.0.0",
            "startIpAddress": "0.0.0.0"
          }
        },
        {
          "name": "Allow_Remote_SSMS",
          "type": "firewallrules",
          "apiVersion": "2014-04-01-preview",
          "location": "[parameters('location')]",
          "dependsOn": [
            "[concat('Microsoft.Sql/servers/', parameters('sqlServerName'))]"
          ],
          "properties": {
            "startIpAddress": "[parameters('publicIP')]",
            "endIpAddress": "[parameters('publicIP')]"
          }
        }
      ]
    },
    {
      "name": "[concat(parameters('sqlServerName'), '/', parameters('sqlDatabaseNames')[copyIndex()])]",
      "type": "Microsoft.Sql/servers/databases",
      "location": "[parameters('location')]",
      "apiVersion": "2014-04-01-preview",
      "copy": {
        "count": "[length(parameters('sqlDatabaseNames'))]",
        "name": "sql-copy"
      },
      "dependsOn": [ "[resourceId('Microsoft.Sql/servers/', parameters('sqlServerName'))]" ],
      "properties": {
        "collation": "[variables('collation')]",
        "edition": "[parameters('sqlEdition')]",
        "maxSizeBytes": "[parameters('sqlMaxSizeBytes')]",
        "requestedServiceObjectiveName": "[parameters('sqlRequestedServiceObjectiveName')]"
      }
    },
    {
      "name": "[concat(parameters('sqlServerName'), '/', parameters('sqlDatabaseNames')[copyIndex()],'/','import')]",
      "type": "Microsoft.Sql/servers/databases/extensions",
      "apiVersion": "2014-04-01-preview",
      "dependsOn": [ "sql-copy" ],
      "copy": {
        "name": "sql-import",
        "count": "[length(parameters('sqlDatabaseNames'))]"
      },
      "properties": {
        "storageKeyType": "[parameters('copy2StorageKeyType')]",
        "storageKey": "[parameters('copy2StorageKey')]",
        "storageUri": "[parameters('copy2StorageUri')]",
        "administratorLogin": "[parameters('sqlAdminUsername')]",
        "administratorLoginPassword": "[parameters('sqlAdminPassword')]",
        "operationMode": "Import"
      }
    }
  ]
}
结果:


据我所知,我们无法在嵌套资源中使用copyindex函数

如果运行arm模板,您将面临以下错误:

不支持复制嵌套资源。有关用法的详细信息,请参阅“”

所以我建议您将嵌套资源作为arm模板中的根资源移动。然后你可以使用copyindex

更多详细信息,请参考以下arm模板:

注意:用数据库名称替换参数orb

{
  "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "brandosqlAdminLogin": {
      "type": "string",
      "minLength": 1
    },
    "brandosqlAdminLoginPassword": {
      "type": "string"
    },
    "org": {
      "type": "array",
      "defaultValue": [
        "contoso",
        "fabrikam",
        "coho"
      ]
    },
    "copydatabaseCollation": {
      "type": "string",
      "minLength": 1,
      "defaultValue": "SQL_Latin1_General_CP1_CI_AS"
    },
    "copydatabaseEdition": {
      "type": "string",
      "defaultValue": "Basic",
      "allowedValues": [
        "Basic",
        "Standard",
        "Premium"
      ]
    },
    "copydatabaseRequestedServiceObjectiveName": {
      "type": "string",
      "defaultValue": "Basic",
      "allowedValues": [
        "Basic",
        "S0",
        "S1",
        "S2",
        "P1",
        "P2",
        "P3"
      ],
      "metadata": {
        "description": "Describes the performance level for Edition"
      }
    },
    "copy2StorageKeyType": {
      "type": "string",
      "minLength": 1
    },
    "copy2StorageKey": {
      "type": "string"
    },
    "copy2StorageUri": {
      "type": "string",
      "minLength": 1
    },
    "copy2AdministratorLogin": {
      "type": "string",
      "minLength": 1
    },
    "copy2AdministratorLoginPassword": {
      "type": "string"
    },
    "serverDatabaseName": {
      "type": "array",
      "defaultValue": [
        "brandoimprottest/contoso",
        "brandoimprottest/fabrikam",
        "brandoimprottest/coho"
      ]
    },

    "copysqldatabase2Collation": {
      "type": "string",
      "minLength": 1,
      "defaultValue": "SQL_Latin1_General_CP1_CI_AS"
    },
    "copysqldatabase2Edition": {
      "type": "string",
      "defaultValue": "Basic",
      "allowedValues": [
        "Basic",
        "Standard",
        "Premium"
      ]
    },
    "copysqldatabase2RequestedServiceObjectiveName": {
      "type": "string",
      "defaultValue": "Basic",
      "allowedValues": [
        "Basic",
        "S0",
        "S1",
        "S2",
        "P1",
        "P2",
        "P3"
      ],
      "metadata": {
        "description": "Describes the performance level for Edition"
      }
    }

  },
  "variables": {
    "brandosqlName": "brandoimprottest"
    },
  "resources": [
    {
      "name": "[variables('brandosqlName')]",
      "type": "Microsoft.Sql/servers",
      "location": "[resourceGroup().location]",
      "apiVersion": "2014-04-01-preview",
      "dependsOn": [],
      "tags": {
        "displayName": "brandosql"
      },
      "properties": {
        "administratorLogin": "[parameters('brandosqlAdminLogin')]",
        "administratorLoginPassword": "[parameters('brandosqlAdminLoginPassword')]"
      },
      "resources": [
        {
          "name": "AllowAllWindowsAzureIps",
          "type": "firewallrules",
          "location": "[resourceGroup().location]",
          "apiVersion": "2014-04-01-preview",
          "dependsOn": [
            "[resourceId('Microsoft.Sql/servers', variables('brandosqlName'))]"
          ],
          "properties": {
            "startIpAddress": "0.0.0.0",
            "endIpAddress": "0.0.0.0"
          }
        }
      ]
    },
    {
      "name": "[concat(variables('brandosqlName'), '/', parameters('org')[copyIndex()])]",
      "type": "Microsoft.Sql/servers/databases",
      "location": "[resourceGroup().location]",
      "apiVersion": "2014-04-01-preview",
      "copy": {
        "count": 3,
        "name": "sql-copy"
      },
      "dependsOn": [ "[resourceId('Microsoft.Sql/servers', variables('brandosqlName'))]" ],
      "tags": {
        "displayName": "copysqldatabase2"
      },
      "properties": {
        "collation": "[parameters('copysqldatabase2Collation')]",
        "edition": "[parameters('copysqldatabase2Edition')]",
        "maxSizeBytes": "1073741824",
        "requestedServiceObjectiveName": "[parameters('copysqldatabase2RequestedServiceObjectiveName')]"
      }
    },
    {
      "name": "[concat(variables('brandosqlName'), '/', parameters('org')[copyIndex()],'/','aaaa')]",
      "type": "Microsoft.Sql/servers/databases/extensions",
      "apiVersion": "2014-04-01-preview",
      "dependsOn": [ "sql-copy" ],
      "tags": {
        "displayName": "copy3"
      },
      "copy": {
        "name": "sql-copy2",
        "count": 3
      },
      "properties": {
        "storageKeyType": "[parameters('copy2StorageKeyType')]",
        "storageKey": "[parameters('copy2StorageKey')]",
        "storageUri": "[parameters('copy2StorageUri')]",
        "administratorLogin": "[parameters('copy2AdministratorLogin')]",
        "administratorLoginPassword": "[parameters('copy2AdministratorLoginPassword')]",
        "operationMode": "Import"
      }
    }
  ],
  "outputs": {}
}
结果:


我还测试了你的模板,我发现你的导入扩展中的存储url有问题。我用主存储密钥和url更改了它。它工作得很好

模板:

{
  "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "location": {
      "type": "string",
      "defaultValue": "eastasia"
    },
    "sqlAdminUsername": {
      "type": "string"
    },
    "sqlAdminPassword": {
      "type": "string"
    },
    "sqlServerName": {
      "type": "string"
    },
    "sqlDatabaseNames": {
      "type": "array",
      "defaultValue": [
        "CustomersDB",
        "WideWorldImporters-Standard"
      ]
    },
    "sqlEdition": {
      "type": "string",
      "defaultValue": "Standard"
    },
    "sqlRequestedServiceObjectiveName": {
      "type": "string",
      "defaultValue": "S2"
    },
    "sqlMaxSizeBytes": {
      "type": "string",
      "defaultValue": "268435456000"
    },
    "publicIP": {
      "type": "string"
    },
    "copy2StorageKeyType": {
      "type": "string",
      "minLength": 1
    },
    "copy2StorageKey": {
      "type": "string"
    },
    "copy2StorageUri": {
      "type": "string",
      "minLength": 1
    }

  },
  "variables": {
    "storageKeyType": "SharedAccessKey",
    "collation": "SQL_Latin1_General_CP1_CI_AS"
  },
  "resources": [
    {
      "name": "[parameters('sqlServerName')]",
      "type": "Microsoft.Sql/servers",
      "apiVersion": "2014-04-01-preview",
      "location": "[parameters('location')]",
      "properties": {
        "administratorLogin": "[parameters('sqlAdminUsername')]",
        "administratorLoginPassword": "[parameters('sqlAdminPassword')]",
        "version": "12.0"
      },
      "resources": [
        {
          "name": "AllowAllWindowsAzureIps",
          "type": "firewallrules",
          "apiVersion": "2014-04-01-preview",
          "location": "[parameters('location')]",
          "dependsOn": [
            "[concat('Microsoft.Sql/servers/', parameters('sqlServerName'))]"
          ],
          "properties": {
            "endIpAddress": "0.0.0.0",
            "startIpAddress": "0.0.0.0"
          }
        },
        {
          "name": "Allow_Remote_SSMS",
          "type": "firewallrules",
          "apiVersion": "2014-04-01-preview",
          "location": "[parameters('location')]",
          "dependsOn": [
            "[concat('Microsoft.Sql/servers/', parameters('sqlServerName'))]"
          ],
          "properties": {
            "startIpAddress": "[parameters('publicIP')]",
            "endIpAddress": "[parameters('publicIP')]"
          }
        }
      ]
    },
    {
      "name": "[concat(parameters('sqlServerName'), '/', parameters('sqlDatabaseNames')[copyIndex()])]",
      "type": "Microsoft.Sql/servers/databases",
      "location": "[parameters('location')]",
      "apiVersion": "2014-04-01-preview",
      "copy": {
        "count": "[length(parameters('sqlDatabaseNames'))]",
        "name": "sql-copy"
      },
      "dependsOn": [ "[resourceId('Microsoft.Sql/servers/', parameters('sqlServerName'))]" ],
      "properties": {
        "collation": "[variables('collation')]",
        "edition": "[parameters('sqlEdition')]",
        "maxSizeBytes": "[parameters('sqlMaxSizeBytes')]",
        "requestedServiceObjectiveName": "[parameters('sqlRequestedServiceObjectiveName')]"
      }
    },
    {
      "name": "[concat(parameters('sqlServerName'), '/', parameters('sqlDatabaseNames')[copyIndex()],'/','import')]",
      "type": "Microsoft.Sql/servers/databases/extensions",
      "apiVersion": "2014-04-01-preview",
      "dependsOn": [ "sql-copy" ],
      "copy": {
        "name": "sql-import",
        "count": "[length(parameters('sqlDatabaseNames'))]"
      },
      "properties": {
        "storageKeyType": "[parameters('copy2StorageKeyType')]",
        "storageKey": "[parameters('copy2StorageKey')]",
        "storageUri": "[parameters('copy2StorageUri')]",
        "administratorLogin": "[parameters('sqlAdminUsername')]",
        "administratorLoginPassword": "[parameters('sqlAdminPassword')]",
        "operationMode": "Import"
      }
    }
  ]
}
结果:


问题在于导入资源依赖项中的concat函数。
请发布详细的错误消息。
问题在于导入资源依赖项中的concat函数。
请发布详细的错误消息。我使用您的示例进行了测试,但它似乎仍然在sql导入期间抛出错误活动我在我的原始帖子中包含了确切的错误。错误消息说您无法在联系人中使用copyindex功能。你能把整个手臂模板贴出来吗?我们将很容易找到并解决您的所有问题。模板已经添加。我已经测试了您的代码并更改了模板,它现在运行良好。但是更改为使用主键是否会破坏使用_artifacts存储uri的目的?如果我使用主存储密钥,则需要事先创建主存储密钥,并且所有.bacpac文件都需要在arm模板之外上载。我使用您的示例进行了测试,但它似乎仍然在sql导入操作期间抛出错误。我在我的原始帖子中包含了确切的错误。错误消息说您无法在联系人中使用copyindex功能。你能把整个手臂模板贴出来吗?我们将很容易找到并解决您的所有问题。模板已经添加。我已经测试了您的代码并更改了模板,它现在运行良好。但是更改为使用主键是否会破坏使用_artifacts存储uri的目的?如果我使用主存储密钥,则需要事先创建该密钥,并且所有.bacpac文件都需要上传到arm模板之外。