Regra de Linter - não depende desnecessário de entradas

Esta regra localiza quando uma entrada dependsOn desnecessária foi adicionada a uma declaração de recurso ou módulo.

Código da regra de linha

Use o seguinte valor no arquivo de configuração do Bicep para personalizar as configurações da regra:

no-unnecessary-dependson

Solução

Para reduzir a confusão em seu modelo, exclua todas as entradas dependsOn que não são necessárias. O Bicep infere automaticamente a maioria das dependências de recursos, desde que as expressões de modelo façam referência a outros recursos por meio de nomes simbólicos em vez de cadeias de caracteres com IDs ou nomes codificados.

O exemplo a seguir falha neste teste porque a entrada appServicePlan dependsOn é automaticamente inferida pelo Bicep implícito pela expressão appServicePlan.id (que faz referência ao nome appServicePlansimbólico do recurso) no valor da serverFarmId propriedade.

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

Você pode corrigi-lo removendo a entrada dependsOn desnecessária.

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

Use a Correção Rápida para remover a entrada dependsOn desnecessária.

A captura de tela de Nenhuma regra de linter dependson desnecessário com correção rápida.

Próximos passos

Para obter mais informações sobre o linter, consulte Usar binter linter.