リンター ルール - 不要な dependsOn エントリがない
このルールでは、不要な dependsOn エントリがリソースまたはモジュールの宣言に追加されたタイミングを検索します。
リンター ルールのコード
ルール設定をカスタマイズするには、Bicep 構成ファイルで次の値を使用します。
no-unnecessary-dependson
解決策
テンプレートの混乱を軽減するには、不要な dependsOn エントリを削除します。 ハードコーディングされた ID または名前を持つ文字列ではなくシンボリック名を使用して、テンプレート式で他のリソースを参照している限り、ほとんどのリソース依存関係が Bicep によって自動的に推論されます。
次の例では、serverFarmId
プロパティの値の (リソース シンボリック名 appServicePlan
を参照する) 式 appServicePlan.id
で暗黙的に示された Bicep によって、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 エントリを削除します。
次のステップ
リンターの詳細については、「Bicep リンターの使用方法」を参照してください。