Condividi tramite


Regola Linter: usare l'identificatore di risorsa stabile

Il nome della risorsa non deve usare un valore non deterministico. Ad esempio, newGuid() o utcNow() non può essere usato nel nome della risorsa. Il nome della risorsa non può contenere un parametro/variabile il cui valore predefinito usa newGuid() o utcNow().

Codice regola Linter

Usa il valore seguente nel file di configurazione Bicep per personalizzare le impostazioni delle regole:

use-stable-resource-identifiers

Soluzione

L'esempio seguente non supera questo test perché utcNow() viene usato nel nome della risorsa.

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'
  }
}

È possibile correggerlo rimuovendo la funzione utcNow() dall'esempio.

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'
  }
}

Passaggi successivi

Per altre informazioni su linter, vedi Usare linter di Bicep.