Compartilhar via


Regra do Linter – usar o identificador de recurso estável

O nome do recurso não deve usar um valor não determinístico. Por exemplo, newGuid() ou utcNow() não pode ser usado no nome do recurso; o nome do recurso não pode conter um parâmetro/variável cujo valor padrão usa newGuid() ou utcNow().

Código de regra linter

Use o seguinte valor no arquivo de configuração Bicep para personalizar as configurações de regra:

use-stable-resource-identifiers

Solução

O exemplo a seguir falha nesse teste porque utcNow() é usado no nome do recurso.

param location string = resourceGroup().location
param time string = utcNow()

resource sa 'Microsoft.Storage/storageAccounts@2023-04-01' = {
  name: 'store${toLower(time)}'
  location: location
  sku: {
    name: 'Standard_LRS'
  }
  kind: 'StorageV2'
  properties: {
    accessTier: 'Hot'
  }
}

Você pode corrigi-lo removendo a função utcNow() do exemplo.

param location string = resourceGroup().location

resource sa 'Microsoft.Storage/storageAccounts@2023-04-01' = {
  name: 'store${uniqueString(resourceGroup().id)}'
  location: location
  sku: {
    name: 'Standard_LRS'
  }
  kind: 'StorageV2'
  properties: {
    accessTier: 'Hot'
  }
}

Próximas etapas

Para saber mais sobre o linter, confira Usar o linter do Bicep.