Linter 規則 - 非必要的 dependsOn 項目
此規則會查找何時資源或模組宣告中加入了不必要的 dependsOn 專案。
Linter 規則程式碼
使用 Bicep 設定檔中的下列值來自訂規則設定:
no-unnecessary-dependson
解決方案
若要減少範本中的混淆,請刪除任何不必要的 dependsOn 項目。 只要範本運算式透過符號名稱參考其他資源,而不是使用硬式編碼識別碼或名稱的字串,Bicep 就會自動推斷大部分的資源相依性。
下列範例會導致此測試失敗,因為 dependsOn 專案 appServicePlan
是由運算式 appServicePlan.id
隱含的 Bicep 所自動推斷,(參考資源符號名稱 appServicePlan
) 在 serverFarmId
屬性值中。
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。