Linter 规则 - 项目参数
此规则验证项目参数是否已正确定义。 若要通过测试,必须满足以下条件:
- 如果提供一个参数(
_artifactsLocation
或_artifactsLocationSasToken
),则必须提供另一个参数。 _artifactsLocation
必须是字符串。- 如果
_artifactsLocation
具有默认值,则它必须是deployment().properties.templateLink.uri
或其默认值的原始 URL。 _artifactsLocationSasToken
必须是安全字符串。- 如果
_artifactsLocationSasToken
具有默认值,则它必须是空字符串。 - 如果引用的模块具有
_artifactsLocation
或_artifactsLocationSasToken
参数,则必须为这些参数传入一个值,即使它们在模块中具有默认值也是如此。
Linter 规则代码
请在 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 = ''
...
后续步骤
有关 Linter 的详细信息,请参阅使用 Bicep Linter。