Megosztás a következőn keresztül:


Ö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