Правило анализатора кода — параметры артефактов
Это правило проверяет, правильно ли определены параметры артефактов. Для прохождения этого теста должны быть выполнены следующие условия:
- Если вы предоставляете один параметр (
_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.