Linter 规则 - 使用父属性

在父资源外部定义时,请使用斜杠将父名称包含在子资源的名称中。 不建议使用父资源名称设置完整资源名称。 属性 parent 可用于简化语法。 请参阅父级外部的完整资源名称

Linter 规则代码

请在 Bicep 配置文件中使用以下值自定义规则设置:

use-parent-property

解决方案

由于 serviceshare 的名称值,以下示例未通过此测试:

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

使用快速修复来简化语法:

屏幕截图显示如何将快速修复用于 use-parent-property Linter 规则。

后续步骤

有关 Linter 的详细信息,请参阅使用 Bicep Linter