【发布时间】:2023-01-26 14:44:35
【问题描述】:
我正在创建一个部署密钥保管库和一些存储帐户的 bicep 文件。但是这些资源在不同的模块文件中。当我尝试将存储帐户连接字符串添加到密钥保管库时,我似乎可以引用密钥保管库。
主二头肌
module resourceKeyVaultModule './modules/keyvault.bicep' = {
name: 'resourceKeyVaultModuleDeployment'
params: {
application: application
location: location
environment: environment
severity: severity
}
scope: resourceGroup
}
module resourceStorageAccountModule './modules/storage.bicep' = {
name: 'resourceStorageAccountModuleDeployment'
params: {
application: application
location: location
environment: environment
severity: severity
keyVault: resourceKeyVaultModule.outputs.name
}
scope: resourceGroup
}
密钥库.bicep
// == Key Vault
resource keyVault 'Microsoft.KeyVault/vaults@2022-07-01' = {
name: nameKeyVault
location: location
tags: {
location: location
environment: environment
severity: severity
}
properties: {
accessPolicies: [
{
objectId: ''
permissions: {
certificates: [
'all'
]
keys: [
'all'
]
secrets: [
'all'
]
storage: [
'all'
]
}
tenantId: ''
}
]
sku: {
family: 'A'
name: 'standard'
}
tenantId: ''
}
}
output name string = keyVault.name
存储.二头肌
param keyVault string
// == Storage Account
resource storageAccount 'Microsoft.Storage/storageAccounts@2022-05-01' = {
name: nameStorageAccount
location: location
tags: {
location: location
environment: environment
severity: severity
}
sku: {
name: 'Standard_LRS'
}
kind: 'StorageV2'
properties: {
minimumTlsVersion: 'TLS1_2'
}
}
resource secretConnectionString 'Microsoft.KeyVault/vaults/secrets@2022-07-01' = {
name: 'connectionString-storageAccount'
dependsOn: [keyVault]
tags: {
location: location
environment: environment
severity: severity
}
properties: {
value: 'DefaultEndpointsProtocol=https;AccountName=${storageAccount.name};AccountKey=${listKeys(storageAccount.id, storageAccount.apiVersion).keys[0].value};EndpointSuffix=${az.environment().suffixes.storage}'
}
}
dependsOn: [keyVault]
错误:封闭数组需要类型为“module[] | (resource | module) | resource[]”的项目,但提供的项目类型为“string”.bicep(BCP034)
【问题讨论】:
标签: azure azure-keyvault azure-bicep