Freigeben über


Linterregel: Artefaktparameter

Diese Regel überprüft, ob die Artefaktparameter ordnungsgemäß definiert sind. Die folgenden Bedingungen müssen erfüllt sein, damit der Test erfolgreich ist:

  • Wenn Sie einen Parameter bereitstellen (entweder _artifactsLocation oder _artifactsLocationSasToken), müssen Sie auch den jeweils anderen Parameter angeben.
  • _artifactsLocation muss eine Zeichenfolge sein.
  • Wenn _artifactsLocation einen Standardwert aufweist, muss dieser entweder deployment().properties.templateLink.uri oder einer Rohdaten-URL entsprechen.
  • _artifactsLocationSasToken muss eine sichere Zeichenfolge sein.
  • Wenn _artifactsLocationSasToken einen Standardwert aufweist, muss dieser eine leere Zeichenfolge sein.
  • Wenn ein referenziertes Modul einen _artifactsLocation- oder einen _artifactsLocationSasToken-Parameter aufweist, muss ein Wert für diese Parameter übergeben werden, auch wenn sie im Modul über Standardwerte verfügen.

Linter-Regelcode

Verwenden Sie den folgenden Wert in der Bicep-Konfigurationsdatei, um die Regeleinstellungen anzupassen:

artifacts-parameters

Lösung

Im folgenden Beispiel ist der Test nicht erfolgreich, weil _artifactsLocationSasToken fehlt:

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

...

Im nächsten Beispiel schlägt dieser Test fehl, weil _artifactsLocation entweder deployment().properties.templateLink.uri oder eine Rohdaten-URL sein muss, wenn der Standardwert bereitgestellt wird, und der Standardwert von _artifactsLocationSasToken ist keine leere Zeichenfolge.

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

...

Dieses Beispiel besteht den Test.

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

...

Nächste Schritte

Weitere Informationen über den Linter finden Sie unter Verwendung des Bicep-Linters.