Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Resource Manager innehåller flera funktioner för att göra jämförelser i din Azure Resource Manager-mall (ARM-mall):
Dricks
Bicep rekommenderas eftersom det erbjuder samma funktioner som ARM-mallar och syntaxen är enklare att använda. Mer information finns i den logiska operatorn och jämförelseoperatorerna .
sammansmälta
coalesce(arg1, arg2, arg3, ...)
Returnerar det första värdet som inte är null från parametrarna. Tomma strängar, tomma matriser och tomma objekt är inte null.
I Bicep använder du operatorn ?? i stället. Se Coalesce ??.
Parametrar
| Parameter | Obligatoriskt | Type | Beskrivning | 
|---|---|---|---|
| arg1 | Ja | int, string, array eller object | Det första värdet som ska testas för null. | 
| mer args | Nej | int, string, array eller object | Fler värden att testa för null. | 
Returvärde
Värdet för de första parametrarna som inte är null, som kan vara en sträng, int, matris eller objekt. Null om alla parametrar är null.
Exempel
Följande exempelmall visar utdata från olika användningsområden för 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))]"
    }
  }
}
Utdata från standardvärdena från föregående exempel är:
| Namn | Type | Värde | 
|---|---|---|
| stringOutput | String | standard | 
| intOutput | Int | 1 | 
| objectOutput | Objekt | {"first": "default"} | 
| arrayOutput | Matris | [1] | 
| emptyOutput | Bool | Sant | 
equals
equals(arg1, arg2)
Kontrollerar om två värden är identiska. Jämförelsen är skiftlägeskänslig.
I Bicep använder du operatorn == i stället. Se Lika med ==.
Parametrar
| Parameter | Obligatoriskt | Type | Beskrivning | 
|---|---|---|---|
| arg1 | Ja | int, string, array eller object | Det första värdet för att söka efter likhet. | 
| arg2 | Ja | int, string, array eller object | Det andra värdet för att söka efter likhet. | 
Returvärde
Returnerar Sant om värdena är lika med, annars False.
Kommentarer
Funktionen equals används ofta med elementet condition för att testa om en resurs har distribuerats:
{
  "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": {}
}
Exempel
I följande exempel kontrolleras olika typer av värden för likhet. Alla standardvärden returnerar 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": "demo"
Utdata från standardvärdena från föregående exempel är:
| Namn | Type | Värde | Kommentar | 
|---|---|---|---|
| checkInts | Bool | Sant | |
| checkStrings | Bool | Falsk | Resultatet beror falsepå att jämförelsen är skiftlägeskänslig. | 
| checkArrays | Bool | Sant | |
| checkObjects | Bool | Sant | 
Följande exempelmall används not med lika med:
{
  "$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))]"
    }
  }
}
Utdata från föregående exempel är:
| Namn | Type | Värde | 
|---|---|---|
| checkNotEquals | Bool | Sant | 
greater
greater(arg1, arg2)
Kontrollerar om det första värdet är större än det andra värdet.
I Bicep använder du operatorn > i stället. Se Större än >.
Parametrar
| Parameter | Obligatoriskt | Type | Beskrivning | 
|---|---|---|---|
| arg1 | Ja | int eller sträng | Det första värdet för den större jämförelsen. | 
| arg2 | Ja | int eller sträng | Det andra värdet för den större jämförelsen. | 
Returvärde
Returnerar Sant om det första värdet är större än det andra värdet, annars Falskt.
Exempel
I följande exempel kontrolleras om ett värde är större än ett annat:
{
  "$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'))]"
    }
  }
}
Utdata från standardvärdena från föregående exempel är:
| Namn | Type | Värde | 
|---|---|---|
| checkInts | Bool | Falsk | 
| checkStrings | Bool | Sant | 
greaterOrEquals
greaterOrEquals(arg1, arg2)
Kontrollerar om det första värdet är större än eller lika med det andra värdet.
I Bicep använder du operatorn >= i stället. Se Större än eller lika med >=.
Parametrar
| Parameter | Obligatoriskt | Type | Beskrivning | 
|---|---|---|---|
| arg1 | Ja | int eller sträng | Det första värdet för jämförelsen större eller lika med. | 
| arg2 | Ja | int eller sträng | Det andra värdet för jämförelsen större eller lika med. | 
Returvärde
Returnerar True om det första värdet är större än eller lika med det andra värdet, annars False.
Exempel
I följande exempel kontrolleras om ett värde är större än eller lika med ett annat:
{
  "$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'))]"
    }
  }
}
Utdata från standardvärdena från föregående exempel är:
| Namn | Type | Värde | 
|---|---|---|
| checkInts | Bool | Falsk | 
| checkStrings | Bool | Sant | 
less
less(arg1, arg2)
Kontrollerar om det första värdet är mindre än det andra värdet.
I Bicep använder du operatorn < i stället. Se Mindre än <.
Parametrar
| Parameter | Obligatoriskt | Type | Beskrivning | 
|---|---|---|---|
| arg1 | Ja | int eller sträng | Det första värdet för den mindre jämförelsen. | 
| arg2 | Ja | int eller sträng | Det andra värdet för den mindre jämförelsen. | 
Returvärde
Returnerar Sant om det första värdet är mindre än det andra värdet, annars False.
Exempel
I följande exempel kontrolleras om ett värde är mindre än ett annat:
{
  "$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'))]"
    }
  }
}
Utdata från standardvärdena från föregående exempel är:
| Namn | Type | Värde | 
|---|---|---|
| checkInts | Bool | Sant | 
| checkStrings | Bool | Falsk | 
lessOrEquals
lessOrEquals(arg1, arg2)
Kontrollerar om det första värdet är mindre än eller lika med det andra värdet.
I Bicep använder du operatorn <= i stället. Se Mindre än eller lika med <=.
Parametrar
| Parameter | Obligatoriskt | Type | Beskrivning | 
|---|---|---|---|
| arg1 | Ja | int eller sträng | Det första värdet för jämförelsen mindre eller lika med. | 
| arg2 | Ja | int eller sträng | Det andra värdet för jämförelsen mindre eller lika med. | 
Returvärde
Returnerar Sant om det första värdet är mindre än eller lika med det andra värdet, annars False.
Exempel
I följande exempel kontrolleras om ett värde är mindre än eller lika med ett annat:
{
  "$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'))]"
    }
  }
}
Utdata från standardvärdena från föregående exempel är:
| Namn | Type | Värde | 
|---|---|---|
| checkInts | Bool | Sant | 
| checkStrings | Bool | Falsk | 
Nästa steg
En beskrivning av avsnitten i en ARM-mall finns i Förstå strukturen och syntaxen för ARM-mallar.