Reguła lintera — używanie właściwości nadrzędnej

Po zdefiniowaniu poza zasobem nadrzędnym należy użyć ukośników, aby uwzględnić nazwę nadrzędną w nazwie zasobu podrzędnego. Ustawienie pełnej nazwy zasobu z nazwą zasobu nadrzędnego nie jest zalecane. Właściwość parent może służyć do uproszczenia składni. Zobacz Pełna nazwa zasobu poza elementem nadrzędnym.

Kod reguły lintera

Użyj następującej wartości w pliku konfiguracji Bicep , aby dostosować ustawienia reguły:

use-parent-property

Rozwiązanie

Poniższy przykład kończy się niepowodzeniem tego testu z powodu wartości nazw dla service i share:

param location string = resourceGroup().location

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

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

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

Problem można rozwiązać, używając parent właściwości :

param location string = resourceGroup().location

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

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

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

Problem można rozwiązać automatycznie, wybierając pozycję Szybka poprawka , jak pokazano na poniższym zrzucie ekranu:

Zrzut ekranu przedstawiający szybką poprawkę użycia właściwości nadrzędnej.

Następne kroki

Aby uzyskać więcej informacji na temat linter, zobacz Use Bicep linter (Używanie lintera Bicep).