Regra do Linter – utilizar um identificador de recurso estável
O nome do recurso não deve utilizar um valor não determinista. Por exemplo, newGuid()
ou utcNow()
não pode ser utilizado no nome do recurso; o nome do recurso não pode conter um parâmetro/variável cujo valor predefinido utiliza newGuid()
ou utcNow()
.
Código de regra do Linter
Utilize o seguinte valor no ficheiro de configuração do Bicep para personalizar as definições de regras:
use-stable-resource-identifiers
Solução
O exemplo seguinte falha neste teste porque utcNow()
é utilizado no nome do recurso.
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'
}
}
Pode corrigi-la ao remover a utcNow()
função do exemplo.
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'
}
}
Passos seguintes
Para obter mais informações sobre o linter, veja Utilizar o linter Bicep.