Linter 規則 - 使用父代屬性

在父代資源外部定義時,您會使用斜線在子系資源中包括父代名稱。 不建議使用父代資源名稱設定完整資源名稱。 parent 屬性可用來簡化語法。 請參閱父代外部的完整資源名稱 (部分機器翻譯)。

Linter 規則程式碼

使用 Bicep 設定檔中的下列值來自訂規則設定:

use-parent-property

解決方案

由於 serviceshare 的名稱值,下列範例會導致此測試失敗:

param location string = resourceGroup().location

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

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

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

您可以使用 parent 屬性來修正問題:

param location string = resourceGroup().location

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

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

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

您可以選取快速修正來自動修正問題,如下列螢幕擷取畫面所示:

使用父屬性快速修正的螢幕快照。

下一步

如需 Linter 的詳細資訊,請參閱使用 Bicep Linter