Delen via


Linter-regel: stabiele resource-id gebruiken

Resourcenaam mag geen niet-deterministische waarde gebruiken. Of newGuid() utcNow() kan niet worden gebruikt in de resourcenaam; de resourcenaam mag geen parameter/variabele bevatten waarvan de standaardwaarde gebruikmaakt newGuid() of utcNow().

Linter-regelcode

Gebruik de volgende waarde in het Bicep-configuratiebestand om regelinstellingen aan te passen:

use-stable-resource-identifiers

Oplossing

In het volgende voorbeeld mislukt deze test omdat utcNow() deze wordt gebruikt in de resourcenaam.

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

U kunt dit oplossen door de utcNow() functie uit het voorbeeld te verwijderen.

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

Volgende stappen

Zie Bicep linter gebruiken voor meer informatie over de linter.