Linter 规则 - 使用稳定的资源标识符
资源名称不应使用不确定的值。 例如,newGuid()
或 utcNow()
不能用作资源名称;资源名称不能包含其默认值使用 newGuid()
或 utcNow()
的参数/变量。
Linter 规则代码
请在 Bicep 配置文件中使用以下值自定义规则设置:
use-stable-resource-identifiers
解决方案
以下示例未通过此测试,因为在 utcNow()
用在了资源名称中。
param location string = resourceGroup().location
param time string = utcNow()
resource sa 'Microsoft.Storage/storageAccounts@2021-09-01' = {
name: 'store${toLower(time)}'
location: location
sku: {
name: 'Standard_LRS'
}
kind: 'StorageV2'
properties: {
accessTier: 'Hot'
}
}
可以通过从示例中删除 utcNow()
函数来修复此问题。
param location string = resourceGroup().location
resource sa 'Microsoft.Storage/storageAccounts@2021-09-01' = {
name: 'store${uniqueString(resourceGroup().id)}'
location: location
sku: {
name: 'Standard_LRS'
}
kind: 'StorageV2'
properties: {
accessTier: 'Hot'
}
}
后续步骤
有关 Linter 的详细信息,请参阅使用 Bicep Linter。