Поделиться через


Правило анализатора кода — удаление ненужных записей dependsOn

Это правило используется для обнаружения добавленной ненужной записи dependsOn в объявление ресурса или модуля.

Код правила анализатора кода

Для настройки параметров правил укажите в файле конфигурации Bicep следующее значение:

no-unnecessary-dependson

Решение

Чтобы уменьшить путаницу в шаблоне, удалите все записи зависимости, которые не нужны. Bicep автоматически выводит большинство зависимостей ресурсов, если выражения шаблона ссылаются на другие ресурсы с помощью символьных имен, а не строк с жестко заданными идентификаторами или именами.

В следующем примере этот тест завершается сбоем, так как Bicep автоматически выводит запись dependsOn appServicePlan на основании выражения appServicePlan.id (которое ссылается на символьное имя ресурса appServicePlan) в значении свойства 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
  ]
}

Ее можно исправить, удалив ненужную запись зависимости:

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:

Снимок экрана: использование быстрого исправления для правила linter без необходимости.

Следующие шаги

Дополнительные сведения об анализаторе кода Bicep см. в разделе Использование анализатора кода Bicep.