Reguła lintera — brak niepotrzebnych wpisów dependsOn

Ta reguła znajduje się, gdy do deklaracji zasobu lub modułu dodano niepotrzebny wpis dependsOn.

Kod reguły Linter

Użyj następującej wartości w pliku konfiguracji Bicep, aby dostosować ustawienia reguły:

no-unnecessary-dependson

Rozwiązanie

Aby zmniejszyć zamieszanie w szablonie, usuń wszystkie wpisy dependsOn, które nie są niezbędne. Bicep automatycznie wywnioskuje większość zależności zasobów, o ile wyrażenia szablonu odwołują się do innych zasobów za pomocą nazw symbolicznych, a nie ciągów z zakodowanymi identyfikatorami lub nazwami.

Poniższy przykład kończy się niepowodzeniem tego testu, ponieważ wpis appServicePlan dependsOn jest automatycznie wnioskowany przez wyrażenie ( appServicePlan.id które odwołuje się do nazwy appServicePlansymbolicznej zasobu ) w serverFarmId wartości właściwości.

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
  ]
}

Można go naprawić, usuwając niepotrzebny wpis 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
  }
}

Użyj szybkiej poprawki , aby usunąć niepotrzebny wpis dependsOn.

Zrzut ekranu przedstawiający regułę linter No unnecessary dependson linter z szybką poprawką.

Następne kroki

Aby uzyskać więcej informacji na temat lintera, zobacz Use Bicep linter (Używanie lintera Bicep).