如何在ARM模板中获取Key Vault的BaseUri?
获取Key Vault BaseUri并配置到App Service应用设置
你需要引用Key Vault资源的vaultUri属性来获取BaseUri,而非直接引用整个资源对象。以下是两种可靠实现方式:
方法1:通过reference函数获取官方属性
修改App Service应用设置中的value字段,指定获取Key Vault的vaultUri属性:
{ "name": "KeyVault__BaseUri", "value": "[reference(resourceId('Microsoft.KeyVault/vaults', variables('keyVaultName')), '2024-12-01-preview').properties.vaultUri]" }
该属性是Azure Key Vault的标准输出属性,会返回完整的BaseUri(格式为https://{keyVaultName}.vault.azure.net/)。
方法2:直接构造BaseUri(更高效)
Key Vault的BaseUri遵循固定格式,你也可以直接通过名称拼接生成,无需调用reference函数:
{ "name": "KeyVault__BaseUri", "value": "[concat('https://', variables('keyVaultName'), '.vault.azure.net/')]" }
这种方式避免了额外的资源引用调用,部署效率更高,适用于使用默认Azure Key Vault域名的场景。
额外注意事项
- 你的模板中App Service已通过
dependsOn依赖Key Vault,确保Key Vault创建完成后才会配置应用设置,两种方法均可正常生效。 - 若Key Vault使用了自定义域名,建议使用方法1获取官方返回的
vaultUri以保证准确性。
内容的提问来源于stack exchange,提问作者Nimesco
相关产品推荐
相关产品推荐

