Ö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