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.

Cuplikan layar Tidak ada aturan linter dependson yang tidak perlu dengan perbaikan cepat.

Langkah berikutnya

Untuk informasi selengkapnya tentang linter, lihat Menggunakan linter Bicep.