リンター ルール - 不要な 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@2022-03-01' = {
  name: 'name'
  location: location
  sku: {
    name: 'F1'
    capacity: 1
  }
}

resource webApplication 'Microsoft.Web/sites@2022-03-01' = {
  name: 'name'
  location: location
  properties: {
    serverFarmId: appServicePlan.id
  }
  dependsOn: [
    appServicePlan
  ]
}

これは、不要な dependsOn エントリを削除することで修正できます。

param location string = resourceGroup().location

resource appServicePlan 'Microsoft.Web/serverfarms@2022-03-01' = {
  name: 'name'
  location: location
  sku: {
    name: 'F1'
    capacity: 1
  }
}

resource webApplication 'Microsoft.Web/sites@2022-03-01' = {
  name: 'name'
  location: location
  properties: {
    serverFarmId: appServicePlan.id
  }
}

クイック修正を使用して、不要な dependsOn エントリを削除します。

クイック修正を使用して不要な dependson リンター ルールを削除する様子を示すスクリーンショット。

次のステップ

リンターの詳細については、「Bicep リンターの使用方法」を参照してください。