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@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
]
}
불필요한 dependsOn 항목을 제거하여 문제를 해결할 수 있습니다.
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 Linter 사용을 참조하세요.