Sdílet prostřednictvím


Pravidlo Linter – parametry artefaktů

Toto pravidlo ověří, jestli jsou parametry artefaktů definované správně. Aby bylo možné projít testem, musí být splněny následující podmínky:

  • Pokud zadáte jeden parametr (nebo _artifactsLocation_artifactsLocationSasToken), musíte zadat druhý.
  • _artifactsLocation musí být řetězec.
  • Pokud _artifactsLocation má výchozí hodnotu, musí to být buď deployment().properties.templateLink.uri nezpracovaná adresa URL výchozí hodnoty.
  • _artifactsLocationSasToken musí být zabezpečený řetězec.
  • Pokud _artifactsLocationSasToken má výchozí hodnotu, musí se jednat o prázdný řetězec.
  • Pokud má odkazovaný modul hodnotu _artifactsLocation nebo _artifactsLocationSasToken parametr, musí být pro tyto parametry předána hodnota, i když mají v modulu výchozí hodnoty.

Kód pravidla Linteru

K přizpůsobení nastavení pravidel použijte v konfiguračním souboru Bicep následující hodnotu:

artifacts-parameters

Řešení

Následující příklad tento test selže, protože _artifactsLocationSasToken chybí:

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

...

Další příklad selže s tímto testem, protože _artifactsLocation při zadání výchozí hodnoty musí být buď deployment().properties.templateLink.uri nebo nezpracovaná adresa URL, a výchozí hodnota _artifactsLocationSasToken není prázdný řetězec.

@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'

...

Tento příklad projde tímto testem.

@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 = ''

...

Další kroky

Další informace o linteru naleznete v tématu Použití linter Bicep.