Linter 规则 - 不存在不必要的 dependsOn 条目
此规则确定何时已将不必要的 dependsOn 条目添加到资源或模块声明中。
Linter 规则代码
请在 Bicep 配置文件中使用以下值自定义规则设置:
no-unnecessary-dependson
解决方案
为了减少模板中的混淆,请删除所有不必要的 dependsOn 条目。 只要模板表达式通过符号名称(而不是包含硬编码 ID 或名称的字符串)引用其他资源,Bicep 就会自动推断大多数资源依赖项。
以下示例通不过此项测试,因为在 serverFarmId
属性的值中,Bicep 自动推断了表达式 appServicePlan.id
(引用资源符号名称 appServicePlan
)暗指的 dependsOn 条目 appServicePlan
。
param location string = resourceGroup().location
resource appServicePlan 'Microsoft.Web/serverfarms@2023-12-01' = {
name: 'name'
location: location
sku: {
name: 'F1'
capacity: 1
}
}
resource webApplication 'Microsoft.Web/sites@2023-12-01' = {
name: 'name'
location: location
properties: {
serverFarmId: appServicePlan.id
}
dependsOn: [
appServicePlan
]
}
可以通过删除不必要的 dependsOn 条目来解决问题:
param location string = resourceGroup().location
resource appServicePlan 'Microsoft.Web/serverfarms@2023-12-01' = {
name: 'name'
location: location
sku: {
name: 'F1'
capacity: 1
}
}
resource webApplication 'Microsoft.Web/sites@2023-12-01' = {
name: 'name'
location: location
properties: {
serverFarmId: appServicePlan.id
}
}
使用快速修复移除不必要的 dependsOn 条目:
后续步骤
有关 Linter 的详细信息,请参阅使用 Bicep Linter。