Operator Bicep safe-dereference
Operator safe-dereference umożliwia bezpieczny dostęp do właściwości obiektu lub elementów tablicy. Pomaga zapobiegać błędom, które mogą wystąpić podczas próby uzyskania dostępu do właściwości lub elementów bez odpowiedniej wiedzy na temat ich istnienia lub wartości.
safe-dereference
<base>.?<property>
<base>[?<index>]
Operator safe-dereference stosuje dostęp do składowych, .?<property>
, lub dostępu do elementów, operację do operandu tylko wtedy, [?<index>]
gdy operand ocenia wartość inną niż null; w przeciwnym razie zwraca wartość null. Czyli
- Jeśli
a
wartość zostanie obliczona nanull
wartość , wynik parametrua.?x
luba[?x]
ma wartośćnull
. - Jeśli
a
jest obiektem, który nie max
właściwości, toa.?x
jestnull
. - Jeśli
a
jest tablicą, której długość jest mniejsza lub równax
, toa[?x]
jest .null
- Jeśli
a
ma wartość inną niż null i ma właściwość o nazwiex
, wynika.?x
jest taki sam jak wynik .a.x
- Jeśli
a
parametr ma wartość inną niż null i ma element w indeksiex
, wynika[?x]
polecenia jest taki sam jak wynika[x]
Operatory bezpiecznego wyłudzenia są zwarciem. Oznacza to, że jeśli jedna operacja w łańcuchu operacji dostępu warunkowego lub elementu elementu zwraca null
wartość , pozostała część łańcucha nie jest wykonywana. W poniższym przykładzie nie jest obliczany, .?name
jeśli storageAccountsettings[?i]
zostanie obliczona null
wartość :
param storageAccountSettings array = []
param storageCount int
param location string = resourceGroup().location
resource storage 'Microsoft.Storage/storageAccounts@2023-04-01' = [for i in range(0, storageCount): {
name: storageAccountSettings[?i].?name ?? 'defaultname'
location: storageAccountSettings[?i].?location ?? location
kind: storageAccountSettings[?i].?kind ?? 'StorageV2'
sku: {
name: storageAccountSettings[?i].?sku ?? 'Standard_GRS'
}
}]
Następne kroki
- Aby uruchomić przykłady, użyj interfejsu wiersza polecenia platformy Azure lub programu Azure PowerShell, aby wdrożyć plik Bicep.
- Aby utworzyć plik Bicep, zobacz Szybki start: tworzenie plików Bicep za pomocą programu Visual Studio Code.
- Aby uzyskać informacje na temat sposobu rozwiązywania błędów typu Bicep, zobacz Any function for Bicep (Dowolna funkcja dla Bicep).