Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Ta diagnostyka występuje, gdy próbujesz użyć for-expression w miejscu, gdzie Biceps na to nie pozwala.
For-ekspresje można stosować w kilku konkretnych miejscach bicepsa. Możesz ich używać do definiowania zasobów, modułów, zmiennych i wyników. Możesz też używać ich wewnątrz zasobów i modułów, ustawiając ich właściwości. Jeśli umieścisz for-expression bezpośrednio w niewspieranej lokalizacji, na przykład w dosłownym obiekcie, Bicep rzuca BCP138, ponieważ składnia tam nie jest wspierana.
Description
Wyrażenia dla nie są obsługiwane w tym kontekście. Wyrażenia dla mogą być używane jako wartości właściwości zasobu, modułu, zmiennej i danych wyjściowych albo wartości właściwości zasobu i modułu.
Level
Error
Rozwiązanie
Rozwiązaniem jest przeniesienie wyrażenia for-do obsługiwanej lokalizacji.
Przykłady
Poniższy przykład ma pętlę for wewnątrz własności dysków literalu obiektu. Biceps nie pozwala na wyrazy w tym kontekście.
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
Rozwiązaniem jest przeniesienie wyrażenia for-do własnej zmiennej, a następnie odniesienie do tej zmiennej wewnątrz obiektu:
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
Dalsze kroki
Aby uzyskać więcej informacji na temat diagnostyki Bicep, zobacz Diagnostyka rdzenia Bicep.