用于 Azure Resource Manager 模板的部署函数

Resource Manager 提供以下函数,用于从与部署相关的模板和值部分获取值:

若要从资源、资源组或订阅获取值,请参阅 Resource functions(资源函数)。

部署

deployment()

返回有关当前部署操作的信息。

示例

下面的示例返回部署对象:

{
    "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "resources": [],
    "outputs": {
        "subscriptionOutput": {
            "value": "[deployment()]",
            "type" : "object"
        }
    }
}

以下示例演示如何根据父模板的 URI,使用 deployment() 链接到另一个模板。

"variables": {  
    "sharedTemplateUrl": "[uri(deployment().properties.templateLink.uri, 'shared-resources.json')]"  
}

返回值

此函数返回部署期间传递的对象。 根据部署对象是作为链接还是内联对象传递,所返回对象中的属性将有所不同。 如果部署对象是以内联形式传递的(例如使用 Azure PowerShell 中的 -TemplateFile 参数指向本地文件时),所返回的对象采用以下格式:

{
    "name": "",
    "properties": {
        "template": {
            "$schema": "",
            "contentVersion": "",
            "parameters": {},
            "variables": {},
            "resources": [
            ],
            "outputs": {}
        },
        "parameters": {},
        "mode": "",
        "provisioningState": ""
    }
}

如果对象是以链接形式传递的(例如使用 -TemplateUri 参数指向远程文件时),所返回的对象采用以下格式:

{
    "name": "",
    "properties": {
        "templateLink": {
            "uri": ""
        },
        "template": {
            "$schema": "",
            "contentVersion": "",
            "parameters": {},
            "variables": {},
            "resources": [],
            "outputs": {}
        },
        "parameters": {},
        "mode": "",
        "provisioningState": ""
    }
}

参数

parameters(parameterName)

返回一个参数值。 指定的参数名称必须已在模板的 parameters 节中定义。

Parameters

参数 必选 类型 说明
parameterName 字符串 要返回的参数名称。

示例

以下示例演示了 parameters 函数的简化用法。

"parameters": { 
  "siteName": {
      "type": "string"
  }
},
"resources": [
   {
      "apiVersion": "2014-06-01",
      "name": "[parameters('siteName')]",
      "type": "Microsoft.Web/Sites",
      ...
   }
]

返回值

参数的类型。

variables

variables(variableName)

返回变量的值。 指定的变量名称必须已在模板的 variables 节中定义。

Parameters

参数 必选 类型 说明
variableName 字符串 要返回的变量名称。

示例

以下示例使用变量值。

"variables": {
  "storageName": "[concat('storage', uniqueString(resourceGroup().id))]"
},
"resources": [
  {
    "type": "Microsoft.Storage/storageAccounts",
    "name": "[variables('storageName')]",
    ...
  }
],

返回值

变量的类型。

后续步骤