Бөлісу құралы:


Правило анализатора кода — параметры артефактов

Это правило проверяет, правильно ли определены параметры артефактов. Для прохождения этого теста должны быть выполнены следующие условия:

  • Если вы предоставляете один параметр (_artifactsLocation или _artifactsLocationSasToken), необходимо указать и другой.
  • Параметр _artifactsLocation должен быть строкой.
  • Если параметр _artifactsLocation имеет значение по умолчанию, он должен быть либо deployment().properties.templateLink.uri, либо необработанным URL-адресом для его значения по умолчанию.
  • Параметр _artifactsLocationSasToken должен быть защищенной строкой.
  • Если параметр _artifactsLocationSasToken имеет значение по умолчанию, он должен быть пустой строкой.
  • Если указанный в ссылке модуль имеет параметр _artifactsLocation или _artifactsLocationSasToken, для этих параметров необходимо передать значение, даже если они имеют значения по умолчанию в модуле.

Код правила анализатора кода

Для настройки параметров правил укажите в файле конфигурации Bicep следующее значение:

artifacts-parameters

Решение

Следующий пример не проходит этот тест, так как _artifactsLocationSasToken отсутствует:

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

...

Следующий пример завершается сбоем этого теста, так как _artifactsLocation должен быть либо deployment().properties.templateLink.uri необработанным URL-адресом при указании значения по умолчанию, а значение _artifactsLocationSasToken по умолчанию не является пустой строкой.

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

...

Следующий пример проходит этот тест.

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

...

Следующие шаги

Дополнительные сведения об анализаторе кода Bicep см. в разделе Использование анализатора кода Bicep.