azure - Azure 资源管理器模板:如何获取不同 ResourceGroup 中资源的连接字符串?
问题描述
我想部署一个 AzureKeyVault,其中包含来自另一个资源组的 AzureStorageAccount 连接字符串。我知道如果 AzureKeyVault 和 AzureStorageAccount 在同一个资源组中,您可以执行此操作,如下所示:
"resources": [
{
"type": "Microsoft.KeyVault/vaults/secrets",
"name": "secretName",
"properties": {
"value": "[concat('DefaultEndpointsProtocol=https;EndpointSuffix=core.windows.net;AccountName=', 'StorageAccountName', ';AccountKey=', first(listKeys(resourceId('Microsoft.Storage/storageAccounts', 'StorageAccountName'), variables('storageApiVersion')).keys).value)]"
},
"dependsOn": []
},
{
"type": "Microsoft.Storage/storageAccounts",
"name": "StorageAccountName",
...
},
{
"type": "Microsoft.KeyVault/vaults",
"name": "KeyVaultName",
...
}
]
我的问题是如何更改它以从已部署的不同资源组获取连接字符串?
解决方案
使用函数的内置resourceId()
功能:
resourceId(%different_rg_name%, 'Microsoft.Storage/storageAccounts', 'StorageAccountName')
推荐阅读
- npm - 如何将 npm 与 NuGet 包连接?
- java - 函数式编程,充当函数但不返回值的对象
- python - 使用 Python Selenium 遍历表格行文本
- angular - Angular ngrx:访问相邻的商店切片
- memory-management - SwiftUI 的 List 泄露内存
- algorithm - 编码/解码随机的、固定长度的字符串到 64 位整数和从 64 位整数解码
- php - 找不到类“WP_Block_Supports”
- ios - Swift 中显着变化的定位服务与标准定位服务
- vue.js - 将类/样式添加到 VueJS 中的活动按钮
- android - android viewpager2 CreateFragment() 在何时(位置)中选择多个案例