Правило анализатора кода. Использование стабильного идентификатора ресурса
В имени ресурса не должно быть недетерминированных значений. Например, newGuid()
или utcNow()
нельзя использовать в имени ресурса; имя ресурса не может содержать параметр или переменную, значение по умолчанию которых использует newGuid()
или utcNow()
.
Код правила анализатора кода
Для настройки параметров правил укажите в файле конфигурации Bicep следующее значение:
use-stable-resource-identifiers
Решение
Следующий пример завершается сбоем во время этого теста, так как utcNow()
используется в имени ресурса.
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'
}
}
Это можно исправить, удалив функцию utcNow()
из примера.
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'
}
}
Следующие шаги
Дополнительные сведения об анализаторе кода Bicep см. в разделе Использование анализатора кода Bicep.