Linterregel: Verwenden des stabilen Ressourcenbezeichners
Der Ressourcenname muss einen deterministischen Wert verwenden. Beispielsweise kann newGuid()
oder utcNow()
nicht im Ressourcennamen verwendet werden. Der Ressourcenname darf keinen Parameter/Variablen enthalten, deren Standardwert newGuid()
oder utcNow()
verwendet.
Linter-Regelcode
Verwenden Sie den folgenden Wert in der Bicep-Konfigurationsdatei, um die Regeleinstellungen anzupassen:
use-stable-resource-identifiers
Lösung
Im folgenden Beispiel schlägt dieser Test fehl, da utcNow()
im Ressourcennamen verwendet wird.
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'
}
}
Sie können dies beheben, indem Sie die Funktion utcNow()
aus dem Beispiel entfernen.
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'
}
}
Nächste Schritte
Weitere Informationen über den Linter finden Sie unter Verwendung des Bicep-Linters.