在参数文件中获取当前订阅ID

时间:2019-07-16 15:08:47

标签: azure azure-resource-manager arm-template

我有一个 azuredeploy.parameters.json 文件:

{
  "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentParameters.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "adminLogin": {
      "value": "exampleadmin"
    },
    "adminPassword": {
      "reference": {
        "keyVault": {
          "id": "/subscriptions/[subscription().subscriptionId]/resourceGroups/ARMTemplate/providers/Microsoft.KeyVault/vaults/dev-kv"

        },
        "secretName": "ExamplePassword"
      }
    },
    "sqlServerName": {
      "value": "TestServer"
    }

  }
}

我的目的是提取当前的subscriptionId并将其集成到id中。 是否可以在参数文件中完成这项工作?

1 个答案:

答案 0 :(得分:0)

如果可行,正确的语法应为:

"id": "[concat(subscription().id, '/resourceGroups/ARMTemplate/providers/Microsoft.KeyVault/vaults/dev-kv')]"

如果它不起作用,则可以使用嵌套部署将其作为参数传递给嵌套部署并从中返回值,或者只是在嵌套部署中执行您的工作