Share via


Vergelijkingsfuncties voor ARM-sjablonen

Resource Manager biedt verschillende functies voor het maken van vergelijkingen in uw Azure Resource Manager-sjabloon (ARM-sjabloon):

Tip

We raden Bicep aan omdat het dezelfde mogelijkheden biedt als ARM-sjablonen en de syntaxis gemakkelijker te gebruiken is. Zie de logische operator en vergelijkingsoperatoren voor samenvoeging voor meer informatie.

samenvoeging

coalesce(arg1, arg2, arg3, ...)

Retourneert de eerste niet-null-waarde van de parameters. Lege tekenreeksen, lege matrices en lege objecten zijn niet null.

Gebruik in Bicep in plaats daarvan de ?? operator. Zie Coalesce ??

Parameters

Parameter Vereist Type Description
arg1 Ja int, tekenreeks, matrix of object De eerste waarde die moet worden getest op null.
meer argumenten Nee int, tekenreeks, matrix of object Meer waarden om te testen op null.

Retourwaarde

De waarde van de eerste niet-null-parameters, die een tekenreeks, int, matrix of object kunnen zijn. Null als alle parameters null zijn.

Opmerking

In de volgende voorbeeldsjabloon ziet u de uitvoer van verschillende toepassingen van 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))]"
    }
  }
}

De uitvoer uit het voorgaande voorbeeld met de standaardwaarden is:

Name Type Weergegeven als
stringOutput String default
intOutput Int 1
objectOutput Object {"first": "default"}
arrayOutput Matrix [1]
emptyOutput Bool Waar

equals

equals(arg1, arg2)

Hiermee wordt gecontroleerd of twee waarden aan elkaar gelijk zijn.

Gebruik in Bicep in plaats daarvan de == operator. Zie Is gelijk aan ==.

Parameters

Parameter Vereist Type Description
arg1 Ja int, tekenreeks, matrix of object De eerste waarde die moet worden gecontroleerd op gelijkheid.
arg2 Ja int, tekenreeks, matrix of object De tweede waarde die moet worden gecontroleerd op gelijkheid.

Retourwaarde

Retourneert Waar als de waarden gelijk zijn; anders Onwaar.

Opmerkingen

De functie is gelijk aan wordt vaak gebruikt met het condition element om te testen of een resource is geïmplementeerd.

{
  "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": {}
}

Opmerking

In het volgende voorbeeld worden verschillende typen waarden gecontroleerd op gelijkheid. Alle standaardwaarden retourneren Waar.

{
  "$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'))]"
    }
  }
}

De uitvoer uit het voorgaande voorbeeld met de standaardwaarden is:

Name Type Weergegeven als
checkInts Bool Waar
checkStrings Bool Waar
checkArrays Bool Waar
checkObjects Bool Waar

De volgende voorbeeldsjabloon maakt gebruik van niet gelijk aan.

{
  "$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))]"
    }
  }
}

De uitvoer uit het voorgaande voorbeeld is:

Name Type Weergegeven als
checkNotEquals Bool Waar

greater

greater(arg1, arg2)

Hiermee wordt gecontroleerd of de eerste waarde groter is dan de tweede waarde.

Gebruik in Bicep in plaats daarvan de > operator. Zie Groter dan >.

Parameters

Parameter Vereist Type Description
arg1 Ja int of tekenreeks De eerste waarde voor de grotere vergelijking.
arg2 Ja int of tekenreeks De tweede waarde voor de grotere vergelijking.

Retourwaarde

Retourneert Waar als de eerste waarde groter is dan de tweede waarde; anders onwaar.

Opmerking

In het volgende voorbeeld wordt gecontroleerd of de ene waarde groter is dan de andere.

{
  "$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'))]"
    }
  }
}

De uitvoer uit het voorgaande voorbeeld met de standaardwaarden is:

Name Type Weergegeven als
checkInts Bool Onwaar
checkStrings Bool Waar

greaterOrEquals

greaterOrEquals(arg1, arg2)

Hiermee wordt gecontroleerd of de eerste waarde groter is dan of gelijk is aan de tweede waarde.

Gebruik in Bicep in plaats daarvan de >= operator. Zie Groter dan of gelijk aan >=.

Parameters

Parameter Vereist Type Description
arg1 Ja int of tekenreeks De eerste waarde voor de vergelijking groter of gelijk.
arg2 Ja int of tekenreeks De tweede waarde voor de vergelijking groter of gelijk.

Retourwaarde

Retourneert Waar als de eerste waarde groter is dan of gelijk is aan de tweede waarde; anders Onwaar.

Opmerking

In het volgende voorbeeld wordt gecontroleerd of de ene waarde groter is dan of gelijk is aan de andere.

{
  "$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'))]"
    }
  }
}

De uitvoer uit het voorgaande voorbeeld met de standaardwaarden is:

Name Type Weergegeven als
checkInts Bool Onwaar
checkStrings Bool Waar

less

less(arg1, arg2)

Hiermee wordt gecontroleerd of de eerste waarde kleiner is dan de tweede waarde.

Gebruik in Bicep in plaats daarvan de < operator. Zie kleiner dan <.

Parameters

Parameter Vereist Type Description
arg1 Ja int of tekenreeks De eerste waarde voor de minder vergelijking.
arg2 Ja int of tekenreeks De tweede waarde voor de minder vergelijking.

Retourwaarde

Retourneert Waar als de eerste waarde kleiner is dan de tweede waarde; anders onwaar.

Opmerking

In het volgende voorbeeld wordt gecontroleerd of de ene waarde kleiner is dan de andere.

{
  "$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'))]"
    }
  }
}

De uitvoer uit het voorgaande voorbeeld met de standaardwaarden is:

Name Type Weergegeven als
checkInts Bool Waar
checkStrings Bool Onwaar

lessOrEquals

lessOrEquals(arg1, arg2)

Hiermee wordt gecontroleerd of de eerste waarde kleiner is dan of gelijk is aan de tweede waarde.

Gebruik in Bicep in plaats daarvan de <= operator. Zie Kleiner dan of gelijk aan <=.

Parameters

Parameter Vereist Type Description
arg1 Ja int of tekenreeks De eerste waarde voor de vergelijking kleiner of gelijk aan.
arg2 Ja int of tekenreeks De tweede waarde voor de vergelijking kleiner of gelijk aan.

Retourwaarde

Retourneert Waar als de eerste waarde kleiner is dan of gelijk is aan de tweede waarde; anders Onwaar.

Opmerking

In het volgende voorbeeld wordt gecontroleerd of de ene waarde kleiner is dan of gelijk is aan de andere.

{
  "$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'))]"
    }
  }
}

De uitvoer uit het voorgaande voorbeeld met de standaardwaarden is:

Name Type Weergegeven als
checkInts Bool Waar
checkStrings Bool Onwaar

Volgende stappen