Bicep 안전 역참조 연산자
안전 역참조 연산자는 안전한 방식으로 배열의 개체 또는 요소 속성에 액세스하는 방법을 제공합니다. 존재 또는 값에 대한 적절한 지식 없이 속성 또는 요소에 액세스하려고 할 때 발생할 수 있는 오류를 방지하는 데 도움이 됩니다.
safe-dereference
<base>.?<property>
<base>[?<index>]
안전 역참조 연산자는 해당 피연산자가 null이 아닌 것으로 평가되는 경우에만 멤버 액세스 .?<property>
또는 요소 액세스 [?<index>]
, 작업을 해당 피연산자에 적용할 수 있습니다. 그렇지 않으면 null을 반환합니다. 즉, 다음과 같습니다.
a
가null
로 평가되면a.?x
또는a[?x]
의 결과는null
입니다.a
가x
속성이 없는 개체인 경우a.?x
는null
입니다.a
가 길이가x
보다 작거나 같은 배열인 경우a[?x]
는null
입니다.a
가 null이 아니고x
라는 속성이 있는 경우a.?x
의 결과는a.x
의 결과와 동일합니다.a
가 null이 아니고 인덱스x
에 요소가 있는 경우a[?x]
의 결과는a[x]
의 결과와 동일합니다.
안전 역참조 연산자는 단락입니다. 즉 조건부 멤버나 요소 액세스 작업의 한 체인의 작업에서 null
을 반환하면 나머지 체인은 실행되지 않습니다. 다음 예제에서는 storageAccountsettings[?i]
가 null
로 평가되면 .?name
이 평가되지 않습니다.
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'
}
}]
다음 단계
- 예제를 실행하려면 Azure CLI 또는 Azure PowerShell을 사용하여 Bicep 파일을 배포합니다.
- Bicep 파일을 만들려면 빠른 시작: Visual Studio Code로 Bicep 파일 만들기를 참조하세요.
- Bicep 형식 오류를 해결하는 방법에 대한 자세한 내용은 Bicep에 대한 함수를 참조하세요.