Поделиться через


Правило Linter — использование родительского свойства

При определении вне родительского ресурса используется косая черта для включения родительского имени в имя дочернего ресурса. Определение полного имени ресурса с родительским именем ресурса не рекомендуется. Свойство parent можно использовать для упрощения синтаксиса. См . полное имя ресурса за пределами родительского элемента.

Код правила анализатора кода

Для настройки параметров правил укажите в файле конфигурации Bicep следующее значение:

use-parent-property

Решение

В следующем примере этот тест завершается ошибкой из-за значений имени и service share:

param location string = resourceGroup().location

resource storage 'Microsoft.Storage/storageAccounts@2023-05-01' = {
  name: 'examplestorage'
  location: location
  kind: 'StorageV2'
  sku: {
    name: 'Standard_LRS'
  }
}

resource service 'Microsoft.Storage/storageAccounts/fileServices@2023-05-01' = {
  name: 'examplestorage/default'
  dependsOn: [
    storage
  ]
}

resource share 'Microsoft.Storage/storageAccounts/fileServices/shares@2023-05-01' = {
  name: 'examplestorage/default/exampleshare'
  dependsOn: [
    service
  ]
}

Проблему можно устранить с помощью parent свойства:

param location string = resourceGroup().location

resource storage 'Microsoft.Storage/storageAccounts@2023-05-01' = {
  name: 'examplestorage'
  location: location
  kind: 'StorageV2'
  sku: {
    name: 'Standard_LRS'
  }
}

resource service 'Microsoft.Storage/storageAccounts/fileServices@2023-05-01' = {
  parent: storage
  name: 'default'
}

resource share 'Microsoft.Storage/storageAccounts/fileServices/shares@2023-05-01' = {
  parent: service
  name: 'exampleshare'
}

Чтобы упростить синтаксис, воспользуйтесь кратким исправлением :

Снимок экрана: краткое исправление для правила linter свойства use-parent-property.

Следующие шаги

Дополнительные сведения об анализаторе кода Bicep см. в разделе Использование анализатора кода Bicep.