在 ARM 模板中的属性名称值中调用引用/部署函数

问题描述

我正在尝试在单个 ARM 模板中创建 sql 服务器和 sql 数据库,如下所示

sql Server -- 在类型资源部署中使用链接模板方法

sql 数据库 -- 用于创建依赖于链接模板名称数据库的新资源部分。

以下是我的部分 ARM 模板脚本(仅资源部分)

 "resources": [
{
  "name": "sqlServerDeployment","type": "Microsoft.Resources/deployments","apiVersion": "2020-06-01","resourceGroup": "[resourceGroup().name]","properties": {
    "mode": "Incremental","templateLink": {
      "uri": "[parameters('sqlserver_Templatepath')]","contentVersion": "1.0.0.0"
    },"parametersLink": {
      "contentVersion": "1.0.0.0","uri": "[parameters('sqlserver_parameters_Templatepath')]"
    }
  }
},{
  "comments": "If Elastic Pool Name is defined,then curent database will be added to elastic pool.","type": "Microsoft.sql/servers/databases","apiVersion": "2020-08-01-preview","name": "[concat('SamplesqlServer1-Test','/',parameters('databasename')[copyIndex()])]","location": "[parameters('location')]","tags": "[parameters('tagsArray')]","sku": {
    "name": "[parameters('skutier')]","tier": "[parameters('skutier')]"
  },"properties": {
    "collation": "[parameters('collation')]","sampleName": "[parameters('databasename')]","zoneRedundant": "[parameters('zoneRedundant')]","elasticPoolId": "[if(not(empty(parameters('elasticPoolName'))),reference(resourceId('Microsoft.sql/servers/elasticpools',parameters('elasticPoolName')),'2014-04-01'),'')]"
  },"copy": {
    "name": "createDatabases","count": "[length(parameters('databasename'))]"
  },"dependsOn": [ "sqlServerDeployment" ]
}
]

我的查询

目前我正在硬编码 sql Server 名称(SamplesqlServer1-Test),我在 sql 数据库资源部分中的 sqlserver_parameters_Templatepath 中传递。

       "name": "[concat('SamplesqlServer1-Test',

但是如何从该模板的上述参数模板/输出自动获取相同的 sql 服务器名称并将其放入 sqldatabase 的 Name 属性值?是否可以在属性名称”值中调用引用函数。像下面的东西

       "name": "[concat(reference/resourceId(<output of sqlServerDeployment>).sqlSERVERNAME,

是否可以使用属性及其参数调用部署函数?说 sqlservername 是链接模板参数文件中的参数名称。如下所示。

    "name": "[concat(deployment().properties.parameters.sqlservername,

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)