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.
samensmelten
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)
Controleert of twee waarden identiek zijn. De vergelijking is hoofdlettergevoelig.
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": "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'))]"
}
}
}
De uitvoer uit het voorgaande voorbeeld met de standaardwaarden is:
Name | Type | Weergegeven als | Notitie |
---|---|---|---|
checkInts | Bool | Waar | |
checkStrings | Bool | Onwaar | Het resultaat is false omdat de vergelijking hoofdlettergevoelig is. |
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
- Zie De structuur en syntaxis van ARM-sjablonen begrijpen voor een beschrijving van de secties in een ARM-sjabloon.