Reguła lintera — użyj stabilnego identyfikatora zasobu
Nazwa zasobu nie powinna używać wartości niedeterministycznej. Na przykład newGuid()
lub utcNow()
nie można jej użyć w nazwie zasobu; nazwa zasobu nie może zawierać parametru/zmiennej, której wartość domyślna używa newGuid()
lub utcNow()
.
Kod reguły Linter
Użyj następującej wartości w pliku konfiguracji Bicep, aby dostosować ustawienia reguły:
use-stable-resource-identifiers
Rozwiązanie
Poniższy przykład kończy się niepowodzeniem tego testu, ponieważ utcNow()
jest używany w nazwie zasobu.
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'
}
}
Możesz rozwiązać ten problem, usuwając utcNow()
funkcję z przykładu.
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'
}
}
Następne kroki
Aby uzyskać więcej informacji na temat lintera, zobacz Use Bicep linter (Używanie lintera Bicep).