【问题标题】:Get current subscription id in parameter file在参数文件中获取当前订阅 id
【发布时间】:2026-02-07 18:15:02
【问题描述】:

我有这样一个 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"
    }

  }
}

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

【问题讨论】:

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


    【解决方案1】:

    如果有效,正确的语法应该是:

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

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

    【讨论】: