Összehasonlító függvények ARM-sablonokhoz
A Resource Manager számos funkciót biztosít az Összehasonlításhoz az Azure Resource Manager-sablonban (ARM-sablon):
Tipp.
A Bicep használatát javasoljuk, mert ugyanazokkal a képességekkel rendelkezik, mint az ARM-sablonok, és a szintaxis használata egyszerűbb. További információkért tekintse meg a coalesce logikai operátort és az összehasonlító operátorokat.
összenő
coalesce(arg1, arg2, arg3, ...)
A paraméterek első nem null értékű értékét adja vissza. Az üres sztringek, üres tömbök és üres objektumok nem null értékűek.
A Bicepben használja inkább az operátort ??
. Lásd : Coalesce ??.
Paraméterek
Paraméter | Kötelező | Típus | Leírás |
---|---|---|---|
arg1 | Igen | int, sztring, tömb vagy objektum | A null érték első tesztelendő értéke. |
további args | Nem | int, sztring, tömb vagy objektum | További értékek a null érték teszteléséhez. |
Visszaadott érték
Az első nem null paraméterek értéke, amely lehet sztring, int, tömb vagy objektum. Null érték, ha az összes paraméter null értékű.
Példa
Az alábbi példasablon a coalesce különböző felhasználási módjaiból származó kimenetet mutatja be.
{
"$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))]"
}
}
}
Az előző példában szereplő kimenet az alapértelmezett értékekkel a következő:
Név | Típus | Érték |
---|---|---|
stringOutput | Sztring | alapértelmezett |
intOutput | Int | 0 |
objectOutput | Objektum | {"first": "default"} |
arrayOutput | Tömb | [1] |
emptyOutput | Bool | Igaz |
egyenlő
equals(arg1, arg2)
Ellenőrzi, hogy két érték azonos-e. Az összehasonlítás megkülönbözteti a kis- és nagybetűkét.
A Bicepben használja inkább az operátort ==
. Lásd: Egyenlő ==.
Paraméterek
Paraméter | Kötelező | Típus | Leírás |
---|---|---|---|
arg1 | Igen | int, sztring, tömb vagy objektum | Az első érték, amely ellenőrzi az egyenlőséget. |
arg2 | Igen | int, sztring, tömb vagy objektum | A második érték, amely ellenőrzi az egyenlőséget. |
Visszaadott érték
Igaz értéket ad vissza, ha az értékek egyenlőek; ellenkező esetben Hamis.
Megjegyzések
Az egyenlő függvényt gyakran használják az elemmel annak condition
ellenőrzésére, hogy egy erőforrás üzembe van-e helyezve.
{
"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": {}
}
Példa
Az alábbi példa különböző típusú értékeket ellenőriz az egyenlőség érdekében. Az összes alapértelmezett érték igaz értéket ad vissza.
{
"$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'))]"
}
}
}
Az előző példában szereplő kimenet az alapértelmezett értékekkel a következő:
Név | Típus | Érték | Feljegyzés |
---|---|---|---|
checkInts | Bool | Igaz | |
checkStrings | Bool | Hamis | Az eredmény az, false hogy az összehasonlítás megkülönbözteti a kis- és nagybetűk megkülönböztetettségét. |
checkArrays | Bool | Igaz | |
checkObjects | Bool | Igaz |
Az alábbi példasablon nem egyenlő értékeket használ.
{
"$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))]"
}
}
}
Az előző példa kimenete a következő:
Név | Típus | Érték |
---|---|---|
checkNotEquals | Bool | Igaz |
Nagyobb
greater(arg1, arg2)
Ellenőrzi, hogy az első érték nagyobb-e a másodiknál.
A Bicepben használja inkább az operátort >
. Lásd: Nagyobb, mint >.
Paraméterek
Paraméter | Kötelező | Típus | Leírás |
---|---|---|---|
arg1 | Igen | int vagy sztring | A nagyobb összehasonlítás első értéke. |
arg2 | Igen | int vagy sztring | A nagyobb összehasonlítás második értéke. |
Visszaadott érték
Igaz értéket ad vissza, ha az első érték nagyobb a másodiknál, ellenkező esetben Hamis.
Példa
Az alábbi példa azt ellenőrzi, hogy az egyik érték nagyobb-e a másiknál.
{
"$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'))]"
}
}
}
Az előző példában szereplő kimenet az alapértelmezett értékekkel a következő:
Név | Típus | Érték |
---|---|---|
checkInts | Bool | Hamis |
checkStrings | Bool | Igaz |
greaterOrEquals
greaterOrEquals(arg1, arg2)
Ellenőrzi, hogy az első érték nagyobb-e, mint a második érték.
A Bicepben használja inkább az operátort >=
. Lásd: Nagyobb vagy egyenlő >=.
Paraméterek
Paraméter | Kötelező | Típus | Leírás |
---|---|---|---|
arg1 | Igen | int vagy sztring | A nagyobb vagy egyenlő összehasonlítás első értéke. |
arg2 | Igen | int vagy sztring | A nagyobb vagy egyenlő összehasonlítás második értéke. |
Visszaadott érték
Igaz értéket ad vissza, ha az első érték nagyobb vagy egyenlő a második értékkel, ellenkező esetben Hamis.
Példa
Az alábbi példa azt ellenőrzi, hogy az egyik érték nagyobb-e, mint a másik.
{
"$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'))]"
}
}
}
Az előző példában szereplő kimenet az alapértelmezett értékekkel a következő:
Név | Típus | Érték |
---|---|---|
checkInts | Bool | Hamis |
checkStrings | Bool | Igaz |
kevesebb
less(arg1, arg2)
Ellenőrzi, hogy az első érték kisebb-e a másodiknál.
A Bicepben használja inkább az operátort <
. Lásd: Kevesebb, mint <.
Paraméterek
Paraméter | Kötelező | Típus | Leírás |
---|---|---|---|
arg1 | Igen | int vagy sztring | A kisebb összehasonlítás első értéke. |
arg2 | Igen | int vagy sztring | A második érték a kisebb összehasonlításhoz. |
Visszaadott érték
Igaz értéket ad vissza, ha az első érték kisebb a másodiknál, ellenkező esetben Hamis.
Példa
Az alábbi példa azt ellenőrzi, hogy az egyik érték kisebb-e a másiknál.
{
"$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'))]"
}
}
}
Az előző példában szereplő kimenet az alapértelmezett értékekkel a következő:
Név | Típus | Érték |
---|---|---|
checkInts | Bool | Igaz |
checkStrings | Bool | Hamis |
lessOrEquals
lessOrEquals(arg1, arg2)
Ellenőrzi, hogy az első érték kisebb-e, mint a második érték.
A Bicepben használja inkább az operátort <=
. Lásd: Kisebb vagy egyenlő <=.
Paraméterek
Paraméter | Kötelező | Típus | Leírás |
---|---|---|---|
arg1 | Igen | int vagy sztring | A kisebb vagy egyenlő összehasonlítás első értéke. |
arg2 | Igen | int vagy sztring | A kisebb vagy egyenlő összehasonlítás második értéke. |
Visszaadott érték
Igaz értéket ad vissza, ha az első érték kisebb vagy egyenlő a második értéknél, ellenkező esetben Hamis.
Példa
Az alábbi példa azt ellenőrzi, hogy az egyik érték kisebb-e, mint a másiké.
{
"$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'))]"
}
}
}
Az előző példában szereplő kimenet az alapértelmezett értékekkel a következő:
Név | Típus | Érték |
---|---|---|
checkInts | Bool | Igaz |
checkStrings | Bool | Hamis |
Következő lépések
- Az ARM-sablonok szakaszainak leírását az ARM-sablonok szerkezetének és szintaxisának ismertetése című témakörben találja.