Fungsi perbandingan untuk templat ARM
Resource Manager menyediakan beberapa fungsi untuk membuat perbandingan dalam templat Azure Resource Manager (templat ARM):
Tip
Kami merekomendasikan Bicep karena menawarkan kemampuan yang sama dengan templat ARM dan sintaksnya lebih mudah digunakan. Untuk mempelajari lebih lanjut, lihat operator logis dan operator perbandingan yang menyatu.
gabungkan
coalesce(arg1, arg2, arg3, ...)
Mengembalikan nilai bukan nol pertama dari parameter. String kosong, array kosong, dan objek kosong tidak kosong.
Di Bicep, gunakan operator ??
. Lihat Gabungkan ??.
Parameter
Parameter | Diperlukan | Jenis | Deskripsi |
---|---|---|---|
arg1 | Ya | int, string, array, atau objek | Nilai pertama yang diuji untuk null. |
lebih banyak argumen | Tidak | int, string, array, atau objek | Lebih banyak nilai yang diuji untuk null. |
Mengembalikan nilai
Nilai parameter non-null pertama, yang dapat menjadi string, int, array, atau objek. Null jika semua parameter null.
Contoh
Contoh template berikut menunjukkan output dari berbagai penggunaan coalesce.
{
"$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))]"
}
}
}
Output dari contoh sebelumnya dengan nilai default adalah:
Nama | Jenis | Nilai |
---|---|---|
stringOutput | String | default |
intOutput | Int | 1 |
objectOutput | Objek | {"first": "default"} |
arrayOutput | Array | [1] |
emptyOutput | Bool | True |
setara
equals(arg1, arg2)
Memeriksa apakah dua nilai sama satu sama lain.
Di Bicep, gunakan operator ==
. Lihat Sama dengan ==.
Parameter
Parameter | Diperlukan | Jenis | Deskripsi |
---|---|---|---|
arg1 | Ya | int, string, array, atau objek | Nilai pertama yang memeriksa kesetaraan. |
arg2 | Ya | int, string, array, atau objek | Nilai pertama yang memeriksa kesetaraan. |
Mengembalikan nilai
Mengembalikan True jika nilainya sama; jika tidak, Salah.
Keterangan
Fungsi sederajat sering digunakan condition
dengan elemen untuk menguji apakah sumber daya digunakan.
{
"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": {}
}
Contoh
Contoh berikut ini memeriksa jenis nilai yang berbeda untuk persamaan. Semua nilai default mengembalikan 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": "a"
},
"secondString": {
"type": "string",
"defaultValue": "a"
},
"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'))]"
}
}
}
Output dari contoh sebelumnya dengan nilai default adalah:
Nama | Jenis | Nilai |
---|---|---|
checkInts | Bool | True |
checkStrings | Bool | True |
checkArrays | Bool | True |
checkObjects | Bool | True |
Contoh templat berikut ini tidak digunakan dengan sama dengan.
{
"$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))]"
}
}
}
Output dari contoh sebelumnya adalah:
Nama | Jenis | Nilai |
---|---|---|
checkNotEquals | Bool | True |
lebih besar
greater(arg1, arg2)
Memeriksa apakah nilai pertama lebih besar dari nilai kedua.
Di Bicep, gunakan operator >
. Lihat Lebih besar dari .
Parameter
Parameter | Diperlukan | Jenis | Deskripsi |
---|---|---|---|
arg1 | Ya | int atau string | Nilai pertama untuk perbandingan yang lebih besar. |
arg2 | Ya | int atau string | Nilai pertama untuk perbandingan yang lebih besar. |
Mengembalikan nilai
Mengembalikan True jika nilai pertama lebih besar dari nilai kedua; jika tidak, Salah.
Contoh
Contoh berikut ini memeriksa apakah salah satu nilai lebih besar dari yang lain.
{
"$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'))]"
}
}
}
Output dari contoh sebelumnya dengan nilai default adalah:
Nama | Jenis | Nilai |
---|---|---|
checkInts | Bool | False |
checkStrings | Bool | True |
lebihAtauSetara
greaterOrEquals(arg1, arg2)
Memeriksa apakah nilai pertama lebih besar dari nilai kedua.
Di Bicep, gunakan operator >=
. Lihat Lebih besar dari atau sama dengan =.
Parameter
Parameter | Diperlukan | Jenis | Deskripsi |
---|---|---|---|
arg1 | Ya | int atau string | Nilai pertama untuk perbandingan yang lebih besar. |
arg2 | Ya | int atau string | Nilai pertama untuk perbandingan yang lebih besar. |
Mengembalikan nilai
Mengembalikan True jika nilai pertama lebih besar dari nilai kedua; jika tidak, Salah.
Contoh
Contoh berikut ini memeriksa apakah salah satu nilai lebih besar dari atau sama dengan yang lain.
{
"$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'))]"
}
}
}
Output dari contoh sebelumnya dengan nilai default adalah:
Nama | Jenis | Nilai |
---|---|---|
checkInts | Bool | False |
checkStrings | Bool | True |
lebih sedikit
less(arg1, arg2)
Memeriksa apakah nilai pertama lebih besar dari nilai kedua.
Di Bicep, gunakan operator <
. Lihat Lebih kecil dari .
Parameter
Parameter | Diperlukan | Jenis | Deskripsi |
---|---|---|---|
arg1 | Ya | int atau string | Nilai pertama untuk perbandingan yang lebih sedikit. |
arg2 | Ya | int atau string | Nilai pertama untuk perbandingan yang lebih sedikit. |
Mengembalikan nilai
Mengembalikan True jika nilai pertama lebih besar dari nilai kedua; jika tidak, Salah.
Contoh
Contoh berikut ini memeriksa apakah satu nilai lebih sedikit dari yang lain.
{
"$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'))]"
}
}
}
Output dari contoh sebelumnya dengan nilai default adalah:
Nama | Jenis | Nilai |
---|---|---|
checkInts | Bool | True |
checkStrings | Bool | False |
kurangAtauSetara
lessOrEquals(arg1, arg2)
Memeriksa apakah nilai pertama lebih besar dari nilai kedua.
Di Bicep, gunakan operator <=
. Lihat Lebih kecil dari atau sama dengan =.
Parameter
Parameter | Diperlukan | Jenis | Deskripsi |
---|---|---|---|
arg1 | Ya | int atau string | Nilai pertama untuk perbandingan yang lebih sedikit. |
arg2 | Ya | int atau string | Nilai pertama untuk perbandingan yang lebih sedikit. |
Mengembalikan nilai
Mengembalikan True jika nilai pertama lebih besar dari nilai kedua; jika tidak, Salah.
Contoh
Contoh berikut ini memeriksa apakah satu nilai lebih sedikit dari atau sama dengan yang lain.
{
"$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'))]"
}
}
}
Output dari contoh sebelumnya dengan nilai default adalah:
Nama | Jenis | Nilai |
---|---|---|
checkInts | Bool | True |
checkStrings | Bool | False |
Langkah berikutnya
- Untuk deskripsi bagian dalam templat ARM, lihat Memahami struktur dan sintaksis templat ARM.