azure-resource-manager - ARM 模板 - 解释参数部分下的“参考:{}”属性
问题描述
我见过这样的例子:
....
"$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
指的是要向其中添加机密的 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>"
}
}
}
将模板链接在一起是通过将模板嵌套在一起或将它们链接在一起来完成的。该文档对此有很好的信息。
链接模板的示例如下所示:
{
"$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": {
}
}
推荐阅读
- html - 在绝对定位的 div 内响应缩放和裁剪图像
- ruby-on-rails - Ruby-Rails 序列化程序如何在索引和显示路由上显示不同的属性
- php - 登录模态 Yii
- oauth-2.0 - Twinfield 如果使用 oAuth,您需要会话吗?
- terraform - 在 Terraform 中导入的目的是什么?
- apache-flink - 如果在给定的时间间隔内未收到下一个事件,则超时 CEP 模式
- python - Folium Maps 中的交叉过滤
- reactjs - Gatsby.js 图像模糊
- c++ - 如何在 Visual Studio Code 中创建 C++ 头文件?
- flutter - 当滚动视图到达中间时,如何从 api 在 Flutter 网格视图构建器中添加新项目