Linterregel – inga onödiga dependsOn-poster

Den här regeln hittar när en onödig dependsOn-post har lagts till i en resurs- eller moduldeklaration.

Linterregelkod

Använd följande värde i Bicep-konfigurationsfilen för att anpassa regelinställningar:

no-unnecessary-dependson

Lösning

För att minska förvirringen i mallen tar du bort eventuella dependsOn-poster som inte behövs. Bicep härleder automatiskt de flesta resursberoenden så länge malluttryck refererar till andra resurser via symboliska namn i stället för strängar med hårdkodade ID:er eller namn.

Följande exempel misslyckas med det här testet eftersom posten appServicePlan dependsOn automatiskt härleds av Bicep underförstått av uttrycket appServicePlan.id (som refererar till resursens serverFarmId symboliska namn appServicePlan) i egenskapens värde.

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

Du kan åtgärda det genom att ta bort den onödiga dependsOn-posten.

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

Använd Snabbkorrigering för att ta bort den onödiga dependsOn-posten.

Skärmbilden av No unnecessary dependson linter rule with quick fix .The screenshot of No unnecessary dependson linter rule with quick fix.

Nästa steg

Mer information om linter finns i Använda Bicep-linter.