Compartir a través de


Regla de linter: no hay entradas innecesarias de dependsOn

Esta regla busca cuándo se ha agregado una entrada innecesaria de dependsOn a una declaración de módulo o recurso.

Código de regla de linter

Use el valor siguiente del archivo de configuración de Bicep para personalizar los valores de regla:

no-unnecessary-dependson

Soluciones

Para reducir la confusión en la plantilla, elimine las entradas de dependsOn que no sean necesarias. Bicep deduce automáticamente la mayoría de las dependencias del recurso siempre que las expresiones de plantilla hagan referencia a otros recursos a través de nombres simbólicos en lugar de cadenas con nombres o id. codificados de forma rígida.

En el ejemplo siguiente se produce un error en esta prueba porque Bicep deduce automáticamente la entrada de dependsOn appServicePlan, ya que está implícita en la expresión appServicePlan.id (que hace referencia al nombre simbólico del recurso appServicePlan) en el valor de la propiedad serverFarmId.

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

Puede corregirlo quitando la entrada dependsOn innecesaria:

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

Use Corrección rápida para quitar la entrada dependsOn innecesaria:

Captura de pantalla del uso de la corrección rápida para la regla de linter no innecesaria.

Pasos siguientes

Para obtener más información acerca de linter, consulte Uso de linter de Bicep.