Bagikan melalui


Aturan Linter - parameter artefak

Aturan ini memverifikasi apakah parameter artefak didefinisikan dengan benar. Kondisi berikut harus dipenuhi untuk dapat lolos pengujian ini:

  • Jika Anda memberikan satu parameter (baik _artifactsLocation atau _artifactsLocationSasToken), Anda harus memberikan parameter lainnya.
  • _artifactsLocation harus berupa string.
  • Jika _artifactsLocation memiliki nilai bawaan, itu harus berupa deployment().properties.templateLink.uri atau URL mentah untuk nilai bawaannya.
  • _artifactsLocationSasToken harus berupa string yang aman.
  • Jika _artifactsLocationSasToken memiliki nilai default, itu harus berupa string kosong.
  • Jika modul yang direferensikan memiliki parameter _artifactsLocation atau _artifactsLocationSasToken, nilai harus diteruskan untuk parameter tersebut, meskipun parameter tersebut memiliki nilai default dalam modul.

Kode aturan linter

Gunakan nilai berikut pada file konfigurasi Bicep untuk menyesuaikan pengaturan aturan:

artifacts-parameters

Solusi

Contoh berikut gagal dalam pengujian ini karena _artifactsLocationSasToken tidak ada:

@description('The base URI where artifacts required by this template are located including a trailing \'/\'')
param _artifactsLocation string = deployment().properties.templateLink.uri

...

Contoh berikutnya gagal dalam pengujian ini karena _artifactsLocation harus berupa deployment().properties.templateLink.uri ATAU URL mentah saat nilai default disediakan, dan nilai _artifactsLocationSasToken default bukan string kosong.

@description('The base URI where artifacts required by this template are located including a trailing \'/\'')
param _artifactsLocation string = 'something'

@description('SAS Token for accessing script path')
@secure()
param _artifactsLocationSasToken string = 'something'

...

Contoh berikutnya lolos pengujian ini.

@description('The base URI where artifacts required by this template are located including a trailing \'/\'')
param _artifactsLocation string = deployment().properties.templateLink.uri

@description('SAS Token for accessing script path')
@secure()
param _artifactsLocationSasToken string = ''

...

Langkah berikutnya

Untuk informasi selengkapnya tentang linter, lihat Menggunakan linter Bicep.