问题描述
我看过这样的例子:
....
"$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
属性可能用法的任何文档。
我可以将其用于例如:引用链接模板的输出变量吗?
因此:
[reference('sqlServerLinkedTemplate').outputs.connectionString.value]
还是其他参考?
解决方法
在顶部的示例中,reference
表示要将密钥添加到的密钥库。一个示例如下所示:
{
"$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#","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": {
}
}