Udostępnij za pośrednictwem


Reguła lintera — parametry artefaktów

Ta reguła sprawdza, czy parametry artefaktów są poprawnie zdefiniowane. Aby przejść test, należy spełnić następujące warunki:

  • Jeśli podasz jeden parametr ( _artifactsLocation lub _artifactsLocationSasToken), musisz podać drugi.
  • _artifactsLocation musi być ciągiem.
  • Jeśli _artifactsLocation ma wartość domyślną, musi być to albo deployment().properties.templateLink.uri nieprzetworzone adresy URL dla jego wartości domyślnej.
  • _artifactsLocationSasToken musi być bezpiecznym ciągiem.
  • Jeśli _artifactsLocationSasToken ma wartość domyślną, musi być pustym ciągiem.
  • Jeśli przywoływane moduły mają _artifactsLocation parametr or _artifactsLocationSasToken , wartość musi zostać przekazana dla tych parametrów, nawet jeśli w module mają wartości domyślne.

Kod reguły Linter

Użyj następującej wartości w pliku konfiguracji Bicep, aby dostosować ustawienia reguły:

artifacts-parameters

Rozwiązanie

Poniższy przykład kończy się niepowodzeniem tego testu, ponieważ _artifactsLocationSasToken brakuje go:

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

...

Następny przykład kończy się niepowodzeniem tego testu, ponieważ _artifactsLocation musi być albo deployment().properties.templateLink.uri nieprzetworzonym adresem URL po podaniu wartości domyślnej, a wartość _artifactsLocationSasToken domyślna nie jest pustym ciągiem.

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

...

W tym przykładzie ten test przebiegnie pomyślnie.

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

...

Następne kroki

Aby uzyskać więcej informacji na temat lintera, zobacz Use Bicep linter (Używanie lintera Bicep).