Azure 资源管理器 (ARM) 模板参数未定义

Azure Resource Manager (ARM) Template parameter undefined

我创建了一个带参数的 ARM 模板用户定义函数。但出现错误 "The parameter 'testParam' is undefined"。这是我的用户自定义函数内容。

"functions": [
{
  "namespace": "testns",
  "members": {
    "keyVaultAccessPolicyFunc": {
      "parameters": [
        {
          "name": "testParam",
          "type": "string"
        }
      ],
      "output": {
        "type": "array",
        "value": [
          {
            "objectId": "[reference(concat('Microsoft.Web/Sites',parameters('testParam'))).identity.principalId]",
            "permissions": {
              "keys": [
                "all"
              ],
              "secrets": [
                "all"
              ]
            },
            "tenantId": "[reference(concat('Microsoft.Web/Sites',parameters('testParam'))).identity.tenantId]"
          }
        ]
      }
    }
  }
}
]

我参考了此文档 https://docs.microsoft.com/en-us/azure/azure-resource-manager/resource-group-authoring-templates#functions 以在 ARM 模板中创建此用户定义的函数。

您不能在 UDF 中使用 reference() 函数(或任何 run-time 函数)。