Linter 규칙 - 불필요한 dependsOn 항목 없음

이 규칙은 불필요한 dependsOn이 리소스 또는 모듈 선언에 추가된 경우를 찾습니다.

Linter 규칙 코드

Bicep 구성 파일의 다음 값을 사용하여 규칙 설정을 사용자 지정합니다.

no-unnecessary-dependson

솔루션

템플릿의 혼동을 줄이려면 필요하지 않은 모든 dependsOn 항목을 삭제합니다. Bicep은 템플릿 식이 하드 코딩된 ID 또는 이름이 있는 문자열이 아닌 기호 이름을 통해 다른 리소스를 참조하는 한 대부분의 리소스 종속성을 자동으로 추론합니다.

다음 예는 serverFarmId 속성 값의 appServicePlan.id 식(리소스 기호 이름 appServicePlan 참조)이 암시하는 Bicep에 의해 dependsOn 항목 appServicePlan가 자동으로 유추되기 때문에 이 테스트에 실패합니다.

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

불필요한 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
  }
}

빠른 수정을 사용하여 불필요한 dependsOn 항목을 제거합니다.

빠른 수정이 포함된 불필요한 dependson linter 규칙 없음의 스크린샷.

다음 단계

Linter에 관한 자세한 내용은 Bicep Linter 사용을 참조하세요.