Azure mainTemplate.json - 从 templateLink 访问输出
Azure mainTemplate.json - access output from templateLink
我有一个 JSON 部署模板,内容如下:
{
"type": "Microsoft.Resources/deployments",
"apiVersion": "2019-10-01",
"name": "parameters('storageAccounts')[copyIndex()].name",
"resourceGroup": "[resourceGroup().name]",
"properties": {
"mode": "Incremental",
"templateLink": {
"uri": "'https://foo.blob.sa/StorageAccount/azuredeploy.json"
},
"parameters": {
...
}
},
azuredeploy.json
创建存储帐户然后有如下内容:
"outputs": {
"storageAccountWebEndpoint": {
"type": "object",
"value": {
"tags": { ... },
"type": "string",
"value": "[reference(parameters('storageAccountName')).primaryEndpoints.web]"
}
},
是否可以利用链接模板的输出为我的部署模板中的另一个资源设置 属性?
如果是这样,语法是什么?
(假设我 dependsOn
设置正确。)
您可以使用函数 reference()
在 link 模板中获取输出:
"[reference('deploymentName').outputs.propertyName.value]"
但请注意:
When getting an output property from a linked template, the property
name must not include a dash.
获取更多详细信息here。
我有一个 JSON 部署模板,内容如下:
{
"type": "Microsoft.Resources/deployments",
"apiVersion": "2019-10-01",
"name": "parameters('storageAccounts')[copyIndex()].name",
"resourceGroup": "[resourceGroup().name]",
"properties": {
"mode": "Incremental",
"templateLink": {
"uri": "'https://foo.blob.sa/StorageAccount/azuredeploy.json"
},
"parameters": {
...
}
},
azuredeploy.json
创建存储帐户然后有如下内容:
"outputs": {
"storageAccountWebEndpoint": {
"type": "object",
"value": {
"tags": { ... },
"type": "string",
"value": "[reference(parameters('storageAccountName')).primaryEndpoints.web]"
}
},
是否可以利用链接模板的输出为我的部署模板中的另一个资源设置 属性?
如果是这样,语法是什么?
(假设我 dependsOn
设置正确。)
您可以使用函数 reference()
在 link 模板中获取输出:
"[reference('deploymentName').outputs.propertyName.value]"
但请注意:
When getting an output property from a linked template, the property name must not include a dash.
获取更多详细信息here。