我的二头肌下面正在返回钥匙库。我喜欢访问父二头肌键库中的属性/函数。但不知道如何实现时,使用它作为一个模块。
resource kv 'Microsoft.KeyVault/vaults@2019-09-01' existing = {
name: kvName
scope: resourceGroup(subscriptionId, kvResourceGroup )
}
output kv1 object=kv module kv './keyvault.bicep' = {
name: 'get Secrets'
params: {
subscriptionId: subscriptionId
kvResourceGroup: resourceGroupName
kvName: keyVaultName
}
}
var pwd= kv.outputs.kv1.getSecret('key')请建议如何进行?
发布于 2021-10-17 22:23:38
简单地说,这是不被支持的。
在
parent.bicep文件中,kv是模块引用,而不是资源。为了正确理解父-子资源层次结构,Bicep需要父属性值中正确父类型的资源引用。
因此,有人建议简化资源引用:
假设您有创建密钥库的keyvault.bicep模块
resource kv 'Microsoft.KeyVault/vaults@2019-09-01' = {
name: kvName
...
}
output name string = kv.name在parent.bicep中,您可以获得这样的密钥库的引用:
module kvModule './keyvault.bicep' = {
name: 'key-vault-${keyVaultName}'
params: {
kvName: keyVaultName
...
}
}
resource kv 'Microsoft.KeyVault/vaults@2019-09-01' existing = {
name: kvModule.outputs.name
}在您的示例中,很少有如下内容:
getSecret函数只能在Microsoft.KeyVault/vaults资源上调用。使用此函数将秘密传递给Bicep模块的安全字符串参数。该函数只能与具有@secure()装饰器的参数一起使用。https://stackoverflow.com/questions/69584597
复制相似问题