ARM 模板 - 在参数部分解释 "reference: {}" 属性
ARM Templates - Explain "reference: {}" property under parameters section
我见过这样的例子:
....
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"keyVaultSecretValue": {
"reference": { <=========== Reference property
"keyVault": {
"id": "...."
},
"secretName": "...."
}
}
},
....
我找不到关于此 reference
属性.
可能用法的任何文档
我可以将它用于例如:引用 linkedTemplate 的输出变量吗?
因此:
[reference('sqlServerLinkedTemplate').outputs.connectionString.value]
或其他类型的参考资料?
在您顶部的示例中,reference
指的是您要向其添加机密的 Key Vault。此处显示了一个示例:
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentParameters.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"adminLogin": {
"value": "exampleadmin"
},
"adminPassword": {
"reference": {
"keyVault": {
"id": "/subscriptions/<subscription-id>/resourceGroups/<rg-name>/providers/Microsoft.KeyVault/vaults/<vault-name>"
},
"secretName": "ExamplePassword"
}
},
"sqlServerName": {
"value": "<your-server-name>"
}
}
}
将模板链接在一起是通过将模板嵌套在一起或将它们链接在一起来完成的。 documentation 对此有很好的信息。
链接模板的示例如下所示:
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {},
"variables": {},
"resources": [
{
"type": "Microsoft.Resources/deployments",
"apiVersion": "2019-10-01",
"name": "linkedTemplate",
"properties": {
"mode": "Incremental",
"templateLink": {
"uri":"https://mystorageaccount.blob.core.windows.net/AzureTemplates/newStorageAccount.json",
"contentVersion":"1.0.0.0"
}
}
}
],
"outputs": {
}
}
我见过这样的例子:
....
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"keyVaultSecretValue": {
"reference": { <=========== Reference property
"keyVault": {
"id": "...."
},
"secretName": "...."
}
}
},
....
我找不到关于此 reference
属性.
我可以将它用于例如:引用 linkedTemplate 的输出变量吗?
因此:
[reference('sqlServerLinkedTemplate').outputs.connectionString.value]
或其他类型的参考资料?
在您顶部的示例中,reference
指的是您要向其添加机密的 Key Vault。此处显示了一个示例:
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentParameters.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"adminLogin": {
"value": "exampleadmin"
},
"adminPassword": {
"reference": {
"keyVault": {
"id": "/subscriptions/<subscription-id>/resourceGroups/<rg-name>/providers/Microsoft.KeyVault/vaults/<vault-name>"
},
"secretName": "ExamplePassword"
}
},
"sqlServerName": {
"value": "<your-server-name>"
}
}
}
将模板链接在一起是通过将模板嵌套在一起或将它们链接在一起来完成的。 documentation 对此有很好的信息。
链接模板的示例如下所示:
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {},
"variables": {},
"resources": [
{
"type": "Microsoft.Resources/deployments",
"apiVersion": "2019-10-01",
"name": "linkedTemplate",
"properties": {
"mode": "Incremental",
"templateLink": {
"uri":"https://mystorageaccount.blob.core.windows.net/AzureTemplates/newStorageAccount.json",
"contentVersion":"1.0.0.0"
}
}
}
],
"outputs": {
}
}