ARM 템플릿의 비교 함수
Resource Manager는 ARM 템플릿(Azure Resource Manager 템플릿)에서 비교를 수행하기 위한 몇 가지 함수를 제공합니다.
coalesce
coalesce(arg1, arg2, arg3, ...)
매개 변수에서 첫 번째 null이 아닌 값을 반환합니다. 빈 문자열, 빈 배열 및 빈 개체는 null이 아닙니다.
Bicep에서는 대신 ??
연산자를 사용합니다. Coalesce ??를 참조하세요.
매개 변수
매개 변수 | 필수 | Type | 설명 |
---|---|---|---|
arg1 | 예 | int, 문자열, 배열 또는 개체 | null인지 테스트할 첫 번째 값입니다. |
더 많은 인수 | 아니요 | int, 문자열, 배열 또는 개체 | null에 대해 테스트할 수 있는 더 많은 값입니다. |
반환 값
문자열, int, 배열 또는 개체일 수 있는 첫 번째 null이 아닌 매개 변수의 값입니다. 모든 매개 변수가 null이면 null입니다.
예시
다음 예제 템플릿에서는 병합을 다르게 사용하여 출력된 결과를 보여줍니다.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"objectToTest": {
"type": "object",
"defaultValue": {
"null1": null,
"null2": null,
"string": "default",
"int": 1,
"object": { "first": "default" },
"array": [ 1 ]
}
}
},
"resources": [
],
"outputs": {
"stringOutput": {
"type": "string",
"value": "[coalesce(parameters('objectToTest').null1, parameters('objectToTest').null2, parameters('objectToTest').string)]"
},
"intOutput": {
"type": "int",
"value": "[coalesce(parameters('objectToTest').null1, parameters('objectToTest').null2, parameters('objectToTest').int)]"
},
"objectOutput": {
"type": "object",
"value": "[coalesce(parameters('objectToTest').null1, parameters('objectToTest').null2, parameters('objectToTest').object)]"
},
"arrayOutput": {
"type": "array",
"value": "[coalesce(parameters('objectToTest').null1, parameters('objectToTest').null2, parameters('objectToTest').array)]"
},
"emptyOutput": {
"type": "bool",
"value": "[empty(coalesce(parameters('objectToTest').null1, parameters('objectToTest').null2))]"
}
}
}
기본 값을 사용한 이전 예제의 출력은 다음과 같습니다.
이름 | 타입 | 값 |
---|---|---|
stringOutput | 문자열 | default |
intOutput | 정수 | 1 |
objectOutput | Object | {"first": "default"} |
arrayOutput | 배열 | [1] |
emptyOutput | Bool | True |
같음
equals(arg1, arg2)
두 값이 동일한지 확인합니다. 비교 시 대/소문자를 구분합니다.
Bicep에서는 대신 ==
연산자를 사용합니다. 같음 ==을 참조하세요.
매개 변수
매개 변수 | 필수 | Type | 설명 |
---|---|---|---|
arg1 | 예 | int, 문자열, 배열 또는 개체 | 같은지 확인할 첫 번째 값입니다. |
arg2 | 예 | int, 문자열, 배열 또는 개체 | 같은지 확인할 두 번째 값입니다. |
반환 값
값이 같으면 True를 반환하고 같지 않으면 False를 반환합니다.
설명
equals 함수는 종종 condition
요소와 함께 리소스 배포 여부를 테스트하는 데 사용됩니다.
{
"condition": "[equals(parameters('newOrExisting'),'new')]",
"type": "Microsoft.Storage/storageAccounts",
"name": "[variables('storageAccountName')]",
"apiVersion": "2022-09-01",
"location": "[resourceGroup().location]",
"sku": {
"name": "[variables('storageAccountType')]"
},
"kind": "Storage",
"properties": {}
}
예시
다음 예제에서는 서로 다른 유형의 값을 동일하게 검사합니다. 모든 기본값은 True를 반환합니다.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"firstInt": {
"type": "int",
"defaultValue": 1
},
"secondInt": {
"type": "int",
"defaultValue": 1
},
"firstString": {
"type": "string",
"defaultValue": "demo"
},
"secondString": {
"type": "string",
"defaultValue": "Demo"
},
"firstArray": {
"type": "array",
"defaultValue": [ "a", "b" ]
},
"secondArray": {
"type": "array",
"defaultValue": [ "a", "b" ]
},
"firstObject": {
"type": "object",
"defaultValue": { "a": "b" }
},
"secondObject": {
"type": "object",
"defaultValue": { "a": "b" }
}
},
"resources": [
],
"outputs": {
"checkInts": {
"type": "bool",
"value": "[equals(parameters('firstInt'), parameters('secondInt') )]"
},
"checkStrings": {
"type": "bool",
"value": "[equals(parameters('firstString'), parameters('secondString'))]"
},
"checkArrays": {
"type": "bool",
"value": "[equals(parameters('firstArray'), parameters('secondArray'))]"
},
"checkObjects": {
"type": "bool",
"value": "[equals(parameters('firstObject'), parameters('secondObject'))]"
}
}
}
기본 값을 사용한 이전 예제의 출력은 다음과 같습니다.
이름 | 타입 | 값 | 참고 항목 |
---|---|---|---|
checkInts | Bool | True | |
checkStrings | Bool | False | 결과는 false 비교가 대/소문자를 구분하기 때문입니다. |
checkArrays | Bool | True | |
checkObjects | Bool | True |
다음 예제 템플릿에서는 equals에 not을 사용합니다.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [
],
"outputs": {
"checkNotEquals": {
"type": "bool",
"value": "[not(equals(1, 2))]"
}
}
}
위 예제의 출력은 다음과 같습니다.
이름 | 타입 | 값 |
---|---|---|
checkNotEquals | Bool | True |
greater
greater(arg1, arg2)
첫 번째 값이 두 번째 값보다 큰지 여부를 확인합니다.
Bicep에서는 대신 >
연산자를 사용합니다. 보다 큼 >을 참조하세요.
매개 변수
매개 변수 | 필수 | Type | 설명 |
---|---|---|---|
arg1 | 예 | int 또는 문자열 | greater 비교에 사용할 첫 번째 값입니다. |
arg2 | 예 | int 또는 문자열 | greater 비교에 사용할 두 번째 값입니다. |
반환 값
첫 번째 값이 두 번째 값보다 크면 True를 반환하고 크지 않으면 False를 반환합니다.
예시
다음 예제 템플릿에서는 한 값이 다른 값보다 큰지 여부를 확인합니다.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"firstInt": {
"type": "int",
"defaultValue": 1
},
"secondInt": {
"type": "int",
"defaultValue": 2
},
"firstString": {
"type": "string",
"defaultValue": "A"
},
"secondString": {
"type": "string",
"defaultValue": "a"
}
},
"resources": [
],
"outputs": {
"checkInts": {
"type": "bool",
"value": "[greater(parameters('firstInt'), parameters('secondInt') )]"
},
"checkStrings": {
"type": "bool",
"value": "[greater(parameters('firstString'), parameters('secondString'))]"
}
}
}
기본 값을 사용한 이전 예제의 출력은 다음과 같습니다.
이름 | 타입 | 값 |
---|---|---|
checkInts | Bool | False |
checkStrings | Bool | True |
greaterOrEquals
greaterOrEquals(arg1, arg2)
첫 번째 값이 두 번째 값보다 크거나 같은지 여부를 확인합니다.
Bicep에서는 대신 >=
연산자를 사용합니다. 크거나 같음 >=을 참조하세요.
매개 변수
매개 변수 | 필수 | Type | 설명 |
---|---|---|---|
arg1 | 예 | int 또는 문자열 | greater 또는 equal 비교에 사용할 첫 번째 값입니다. |
arg2 | 예 | int 또는 문자열 | greater 또는 equal 비교에 사용할 두 번째 값입니다. |
반환 값
첫 번째 값이 두 번째 값보다 크거나 같으면 True를 반환하고 작으면 False를 반환합니다.
예시
다음 예제에서는 한 값이 다른 값보다 크거나 같아야 하는지 여부를 검사합니다.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"firstInt": {
"type": "int",
"defaultValue": 1
},
"secondInt": {
"type": "int",
"defaultValue": 2
},
"firstString": {
"type": "string",
"defaultValue": "A"
},
"secondString": {
"type": "string",
"defaultValue": "a"
}
},
"resources": [
],
"outputs": {
"checkInts": {
"type": "bool",
"value": "[greaterOrEquals(parameters('firstInt'), parameters('secondInt') )]"
},
"checkStrings": {
"type": "bool",
"value": "[greaterOrEquals(parameters('firstString'), parameters('secondString'))]"
}
}
}
기본 값을 사용한 이전 예제의 출력은 다음과 같습니다.
이름 | 타입 | 값 |
---|---|---|
checkInts | Bool | False |
checkStrings | Bool | True |
less
less(arg1, arg2)
첫 번째 값이 두 번째 값보다 작은지 여부를 확인합니다.
Bicep에서는 대신 <
연산자를 사용합니다. 보다 작음 <을 참조하세요.
매개 변수
매개 변수 | 필수 | Type | 설명 |
---|---|---|---|
arg1 | 예 | int 또는 문자열 | less 비교에 사용할 첫 번째 값입니다. |
arg2 | 예 | int 또는 문자열 | less 비교에 사용할 두 번째 값입니다. |
반환 값
첫 번째 값이 두 번째 값보다 작으면 True를 반환하고 작지 않으면 False를 반환합니다.
예시
다음 예제에서는 한 값이 다른 값보다 작은지 여부를 확인합니다.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"firstInt": {
"type": "int",
"defaultValue": 1
},
"secondInt": {
"type": "int",
"defaultValue": 2
},
"firstString": {
"type": "string",
"defaultValue": "A"
},
"secondString": {
"type": "string",
"defaultValue": "a"
}
},
"resources": [
],
"outputs": {
"checkInts": {
"type": "bool",
"value": "[less(parameters('firstInt'), parameters('secondInt') )]"
},
"checkStrings": {
"type": "bool",
"value": "[less(parameters('firstString'), parameters('secondString'))]"
}
}
}
기본 값을 사용한 이전 예제의 출력은 다음과 같습니다.
이름 | 타입 | 값 |
---|---|---|
checkInts | Bool | True |
checkStrings | Bool | False |
lessOrEquals
lessOrEquals(arg1, arg2)
첫 번째 값이 두 번째 값보다 작거나 같은지 여부를 확인합니다.
Bicep에서는 대신 <=
연산자를 사용합니다. 작거나 같음 <=을 참조하세요.
매개 변수
매개 변수 | 필수 | Type | 설명 |
---|---|---|---|
arg1 | 예 | int 또는 문자열 | less 또는 equals 비교에 사용할 첫 번째 값입니다. |
arg2 | 예 | int 또는 문자열 | less 또는 equals 비교에 사용할 두 번째 값입니다. |
반환 값
첫 번째 값이 두 번째 값보다 작거나 같으면 True를 반환하고 크면 False를 반환합니다.
예시
다음 예제에서는 한 값이 다른 값보다 작거나 같은지 여부를 확인합니다.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"firstInt": {
"type": "int",
"defaultValue": 1
},
"secondInt": {
"type": "int",
"defaultValue": 2
},
"firstString": {
"type": "string",
"defaultValue": "A"
},
"secondString": {
"type": "string",
"defaultValue": "a"
}
},
"resources": [
],
"outputs": {
"checkInts": {
"type": "bool",
"value": "[lessOrEquals(parameters('firstInt'), parameters('secondInt') )]"
},
"checkStrings": {
"type": "bool",
"value": "[lessOrEquals(parameters('firstString'), parameters('secondString'))]"
}
}
}
기본 값을 사용한 이전 예제의 출력은 다음과 같습니다.
이름 | 타입 | 값 |
---|---|---|
checkInts | Bool | True |
checkStrings | Bool | False |
다음 단계
- ARM 템플릿의 섹션에 대한 설명은 ARM 템플릿의 구조 및 구문 이해를 참조하십시오.