Összehasonlító függvények ARM-sablonokhoz
Resource Manager számos függvényt biztosít az Azure Resource Manager-sablon (ARM-sablon) összehasonlításához:
Tipp
A Bicep használatát javasoljuk, mert ugyanazokat a képességeket kínálja, mint az ARM-sablonok, és a szintaxis használata is egyszerűbb. További információért tekintse meg a coalesce logikai operátort és az összehasonlító operátorokat.
coalesce
coalesce(arg1, arg2, arg3, ...)
Az első nem null értéket adja vissza a paraméterekből. Az üres sztringek, az üres tömbök és az üres objektumok nem null értékűek.
A Bicepben használja helyette az operátort ??
. Lásd : Coalesce ??.
Paraméterek
Paraméter | Kötelező | Típus | Description |
---|---|---|---|
arg1 | Yes | int, string, array vagy object | A null érték első tesztelendő értéke. |
több args | No | int, string, array vagy object | További értékeket kell tesztelni null értékre. |
Visszatérési érték
Az első nem null paraméterek értéke, amely lehet sztring, int, tömb vagy objektum. Null, ha minden paraméter null értékű.
Példa
Az alábbi példasablon a szénerőforrás 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élda kimenete az alapértelmezett értékekkel:
Név | Típus | Érték |
---|---|---|
stringOutput | Sztring | alapértelmezett |
intOutput | Int | 1 |
objectOutput | Objektum | {"first": "default"} |
arrayOutput | Tömb | [1] |
emptyOutput | Logikai | Igaz |
egyenlő
equals(arg1, arg2)
Ellenőrzi, hogy két érték egyenlő-e egymással.
A Bicepben használja helyette az operátort ==
. Lásd: Egyenlő ==.
Paraméterek
Paraméter | Kötelező | Típus | Description |
---|---|---|---|
arg1 | Yes | int, string, array vagy object | Az első érték, amely az egyenlőséget ellenőrzi. |
arg2 | Yes | int, string, array vagy object | A második érték, amely ellenőrzi az egyenlőséget. |
Visszatérési érték
Igaz értéket ad vissza, ha az értékek egyenlőek; egyéb esetben Hamis.
Megjegyzések
Az equals függvényt gyakran használják az elemmel annak condition
tesztelé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": "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'))]"
}
}
}
Az előző példa kimenete az alapértelmezett értékekkel:
Név | Típus | Érték |
---|---|---|
checkInts | Logikai | Igaz |
checkStrings | Logikai | Igaz |
checkArrays | Logikai | Igaz |
checkObjects | Logikai | Igaz |
Az alábbi példasablon nemegyenlő é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 | Logikai | Igaz |
greater
greater(arg1, arg2)
Ellenőrzi, hogy az első érték nagyobb-e a másodiknál.
A Bicepben használja helyette az operátort >
. Lásd: Nagyobb mint >.
Paraméterek
Paraméter | Kötelező | Típus | Description |
---|---|---|---|
arg1 | Yes | int vagy sztring | A nagyobb összehasonlítás első értéke. |
arg2 | Yes | int vagy sztring | A nagyobb összehasonlítás második értéke. |
Visszatérési érték
Igaz értéket ad vissza, ha az első érték nagyobb, mint a második érték; egyéb 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élda kimenete az alapértelmezett értékekkel:
Név | Típus | Érték |
---|---|---|
checkInts | Logikai | Hamis |
checkStrings | Logikai | Igaz |
greaterOrEquals
greaterOrEquals(arg1, arg2)
Ellenőrzi, hogy az első érték nagyobb-e, mint a második érték.
A Bicepben használja helyette az operátort >=
. Lásd: Nagyobb vagy egyenlő >=.
Paraméterek
Paraméter | Kötelező | Típus | Description |
---|---|---|---|
arg1 | Yes | int vagy sztring | A nagyobb vagy egyenlő összehasonlítás első értéke. |
arg2 | Yes | int vagy sztring | A nagyobb vagy egyenlő összehasonlítás második értéke. |
Visszatérési érték
Igaz értéket ad vissza, ha az első érték nagyobb vagy egyenlő a második értékkel; egyéb 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élda kimenete az alapértelmezett értékekkel:
Név | Típus | Érték |
---|---|---|
checkInts | Logikai | Hamis |
checkStrings | Logikai | Igaz |
less
less(arg1, arg2)
Ellenőrzi, hogy az első érték kisebb-e a másodiknál.
A Bicepben használja helyette az operátort <
. Lásd : Kisebb, mint <.
Paraméterek
Paraméter | Kötelező | Típus | Description |
---|---|---|---|
arg1 | Yes | int vagy sztring | A kisebb összehasonlítás első értéke. |
arg2 | Yes | int vagy sztring | A kisebb összehasonlítás második értéke. |
Visszatérési érték
Igaz értéket ad vissza, ha az első érték kisebb, mint a második érték; egyéb 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élda kimenete az alapértelmezett értékekkel:
Név | Típus | Érték |
---|---|---|
checkInts | Logikai | Igaz |
checkStrings | Logikai | Hamis |
lessOrEquals
lessOrEquals(arg1, arg2)
Ellenőrzi, hogy az első érték kisebb-e, mint a második érték.
A Bicepben használja helyette az operátort <=
. Lásd: Kisebb vagy egyenlő <=.
Paraméterek
Paraméter | Kötelező | Típus | Description |
---|---|---|---|
arg1 | Yes | int vagy sztring | A kisebb vagy egyenlő összehasonlítás első értéke. |
arg2 | Yes | int vagy sztring | A kisebb vagy egyenlő összehasonlítás második értéke. |
Visszatérési érték
Igaz értéket ad vissza, ha az első érték kisebb vagy egyenlő a második értékkel; egyéb 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élda kimenete az alapértelmezett értékekkel:
Név | Típus | Érték |
---|---|---|
checkInts | Logikai | Igaz |
checkStrings | Logikai | Hamis |
Következő lépések
- Az ARM-sablonok szakaszainak leírásáért lásd : Az ARM-sablonok szerkezetének és szintaxisának ismertetése.