Sdílet prostřednictvím


Diagnostický kód bicepsu - BCP138

Tato diagnostika nastává, když se pokusíte použít for-expression na místě, kde to Biceps neumožňuje.

For-výrazy lze použít na několika konkrétních místech v bicepsu. Můžete je použít při definování zdrojů, modulů, proměnných a výstupů. Můžete je také použít uvnitř zdrojů a modulů, když nastavujete jejich vlastnosti. Pokud umístíte for-expression přímo do nepodporovaného místa, například do objektového literálu, Bicep hodí BCP138, protože tam syntax není podporována.

Description

Výrazy 'for' nejsou v tomto kontextu podporovány. Výrazy for lze použít jako hodnoty prostředků, modulů, proměnných a výstupních deklarací nebo hodnot vlastností prostředku a modulu.

Úroveň

Error

Solution

Řešením je přesunout for-expression do podporovaného místa.

Examples

Následující příklad má smyčku for uvnitř vlastnosti disků objektového literálu. Biceps v tomto kontextu neumožňuje for-expression.


param diskCount int = 5

var vmConfiguration = {
  description: 'Virtual machine configuration'
  dataDisks: [
    for diskIndex in range(0, diskCount): {
      name: 'dataDisk${diskIndex + 1}'
      sizeGB: 1
      index: diskIndex
    }
  ]
}

output vmConfig object = vmConfiguration

Řešením je přesunout for-výraz do vlastní proměnné a poté tuto proměnnou odkazovat uvnitř objektu:

param diskCount int = 5

var dataDiskArray = [
  for diskIndex in range(0, diskCount): {
    name: 'dataDisk${diskIndex + 1}'
    sizeGB: 1
    index: diskIndex
  }
]

var vmConfiguration = {
  description: 'Virtual machine configuration'
  dataDisks: dataDiskArray
}

output vmConfig object = vmConfiguration

Další kroky

Další informace o diagnostice Bicep najdete v tématu Diagnostika jádra Bicep.