【发布时间】:2022-04-04 20:34:53
【问题描述】:
我目前正在将一些基础结构作为代码脚本从 Azure CLI 移植到 Azure Bicep。除此之外,Bicep 文件应该创建一个子网并允许从该子网访问现有的 Azure SQL Server 和现有的存储帐户。
对于 SQL Server,这很简单——我可以引用现有的服务器资源并声明一个代表 VNET 规则的子资源:
resource azureSqlServer 'Microsoft.Sql/servers@2021-05-01-preview' existing = {
name: azureSqlServerName
resource vnetRule 'virtualNetworkRules' = {
name: azureSqlServerVnetRuleName
properties: {
virtualNetworkSubnetId: subnetId
}
}
}
但是,对于存储帐户,网络规则不是子资源,而是存储帐户资源 (properties.networkAcls.virtualNetworkRules) 的属性。我无法在我的 Bicep 文件中声明存储帐户的所有详细信息,因为该资源超出了我当前正在处理的部署的范围。本质上,我想调整现有资源,只需确保存在一条规则即可。
因为existing 不能与properties 结合使用,所以以下内容不起作用:
resource storageAccount 'Microsoft.Storage/storageAccounts@2021-06-01' existing = {
name: storageAccountName
properties: {
networkAcls: {
virtualNetworkRules: [
{
id: subnetId
action: 'Allow'
}
]
}
}
}
有什么方法可以让我使用 Bicep 调整现有资源的一小部分?
【问题讨论】:
标签: azure azure-bicep