Bicep引入了一个功能,可以在模定义中省略该name性质。 当你省略该name属性时,Bicep编译器会根据符号名称和其他上下文自动生成模块确定性、唯一的部署名称。
no-module-name linter 规则通过标记仍包含显式名称属性的模块来强制执行这种更清洁的编码实践。 有关模块名称的更多信息,请参见 定义模块。
注释
此规则默认关闭。 在 bicepconfig.json 里更改电平以启用它。
Linter 规则代码
请在 Bicep 配置文件中使用以下值自定义规则设置:
no-module-name
解决方案
以下示例未能通过此测试,因为资源的 name 属性已被明确定义。
module storage 'storage.bicep' = {
name: 'storageDeployment' // Explicit name is unnecessary
params: {
location: resourceGroup().location
}
}
你可以通过移除以下 name 属性来修复:
module storage 'storage.bicep' = {
params: {
location: resourceGroup().location
}
}
后续步骤
有关 Linter 的详细信息,请参阅使用 Bicep Linter。