リンター ルール - 安定したリソース識別子を使用する

リソース名では、非決定的な値を使用しないでください。 たとえば、リソース名に newGuid()utcNow() は使用できません。また、既定値として newGuid()utcNow() を使用するパラメーター/変数をリソース名に含めることはできません。

リンター ルールのコード

ルール設定をカスタマイズするには、Bicep 構成ファイルで次の値を使用します。

use-stable-resource-identifiers

解決策

次の例は、utcNow() がリソース名で使用されているため、このテストに失敗します。

param location string = resourceGroup().location
param time string = utcNow()

resource sa 'Microsoft.Storage/storageAccounts@2021-09-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@2021-09-01' = {
  name: 'store${uniqueString(resourceGroup().id)}'
  location: location
  sku: {
    name: 'Standard_LRS'
  }
  kind: 'StorageV2'
  properties: {
    accessTier: 'Hot'
  }
}

次のステップ

リンターの詳細については、「Bicep リンターの使用方法」を参照してください。