Partager via


Règle Linter - Utiliser l’identificateur de ressource stable

Le nom de la ressource ne doit pas utiliser de valeur non déterministe. Par exemple, newGuid() ou utcNow() ne peut pas être utilisé dans le nom de la ressource ; le nom de la ressource ne peut pas contenir de paramètre/variable dont la valeur par défaut utilise newGuid() ou utcNow().

Code de règle de linter

Utilisez la valeur suivante dans le fichier config Bicep pour personnaliser les paramètres de règle :

use-stable-resource-identifiers

Solution

L’exemple suivant échoue à ce test car utcNow() est utilisé dans le nom de la ressource.

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

Vous pouvez corriger ce code en supprimant la fonction utcNow() de l’exemple.

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

Étapes suivantes

Pour plus d’informations sur le linter, consultez Utiliser le linter Bicep.