Aturan Linter - tidak ada entri dependsOn yang tidak diperlukan
Aturan ini ditemukan jika entri dependsOn yang tidak diperlukan ditambahkan ke deklarasi modul atau sumber daya.
Kode aturan linter
Gunakan nilai berikut pada file konfigurasi Bicep untuk menyesuaikan pengaturan aturan:
no-unnecessary-dependson
Solusi
Untuk mengurangi kebingungan dalam templat Anda, hapus entri dependsOn apa pun yang tidak diperlukan. Bicep akan secara otomatis menyimpulkan sebagian besar dependensi sumber daya selama ekspresi templat mereferensikan sumber daya lainnya melalui nama simbolis dan bukan string dengan ID atau nama yang dikodekan secara permanen.
Contoh berikut gagal dalam tes ini karena entri dependsOn appServicePlan
secara otomatis disimpulkan oleh Bicep yang tersirat oleh ekspresi appServicePlan.id
(yang mereferensikan nama simbolis sumber daya appServicePlan
) dalam nilai properti serverFarmId
.
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
]
}
Anda dapat memperbaikinya dengan menghapus entri dependsOn yang tidak diperlukan.
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
}
}
Gunakan Perbaikan Cepat untuk menghapus entri dependsOn yang tidak perlu.
Langkah berikutnya
Untuk informasi selengkapnya tentang linter, lihat Menggunakan linter Bicep.