Logikai 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 logikai függvényt és a logikai operátorokat.
és
and(arg1, arg2, ...)
Ellenőrzi, hogy az összes paraméterérték igaz-e.
A and
Bicep nem támogatja a függvényt. Használja inkább a &> operátort .
Paraméterek
Paraméter | Kötelező | Típus | Leírás |
---|---|---|---|
arg1 | Igen | Logikai | Az első érték, amely ellenőrzi, hogy igaz-e. |
arg2 | Igen | Logikai | A második érték, amely ellenőrzi, hogy igaz-e. |
további argumentumok | Nem | Logikai | További argumentumok annak ellenőrzéséhez, hogy igaz-e. |
Visszaadott érték
Igaz értéket ad vissza, ha az összes érték igaz; ellenkező esetben Hamis.
Példák
Az alábbi példa a logikai függvények használatát mutatja be.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [],
"outputs": {
"andExampleOutput": {
"type": "bool",
"value": "[and(bool('true'), bool('false'))]"
},
"orExampleOutput": {
"type": "bool",
"value": "[or(bool('true'), bool('false'))]"
},
"notExampleOutput": {
"type": "bool",
"value": "[not(bool('true'))]"
}
}
}
Az előző példa kimenete a következő:
Név | Típus | Érték |
---|---|---|
andExampleOutput | Bool | Hamis |
orExampleOutput | Bool | Igaz |
notExampleOutput | Bool | Hamis |
logikai
bool(arg1)
A paramétert logikai értékké alakítja.
A Bicepben használja a bool logikai függvényt.
Paraméterek
Paraméter | Kötelező | Típus | Leírás |
---|---|---|---|
arg1 | Igen | sztring vagy int | A logikai értékké konvertálandó érték. |
Visszaadott érték
A konvertált érték logikai értéke.
Megjegyzések
A logikai értékek lekéréséhez true() és false() értékeket is használhat.
Példák
Az alábbi példa bemutatja, hogyan használható a bool sztringgel vagy egész számmal.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [],
"outputs": {
"trueString": {
"type": "bool",
"value": "[bool('true')]"
},
"falseString": {
"type": "bool",
"value": "[bool('false')]"
},
"trueInt": {
"type": "bool",
"value": "[bool(1)]"
},
"falseInt": {
"type": "bool",
"value": "[bool(0)]"
}
}
}
Az előző példában szereplő kimenet az alapértelmezett értékekkel a következő:
Név | Típus | Érték |
---|---|---|
trueString | Bool | Igaz |
falseString | Bool | Hamis |
trueInt | Bool | Igaz |
falseInt | Bool | Hamis |
false
false()
Hamis értéket ad vissza.
A false
függvény nem érhető el a Bicepben. Használja inkább a kulcsszót false
.
Paraméterek
A hamis függvény nem fogad el paramétereket.
Visszaadott érték
Egy logikai érték, amely mindig hamis.
Példa
Az alábbi példa hamis kimeneti értéket ad vissza.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [],
"outputs": {
"falseOutput": {
"type": "bool",
"value": "[false()]"
}
}
}
Az előző példa kimenete a következő:
Név | Típus | Érték |
---|---|---|
falseOutput | Bool | Hamis |
Ha
if(condition, trueValue, falseValue)
Egy értéket ad vissza attól függően, hogy egy feltétel igaz vagy hamis.
A if
Bicep nem támogatja a függvényt. Használja inkább a ?: operátort .
Paraméterek
Paraméter | Kötelező | Típus | Leírás |
---|---|---|---|
feltétel | Igen | Logikai | Az érték, amely ellenőrzi, hogy igaz-e vagy hamis. |
trueValue | Igen | sztring, int, objektum vagy tömb | A visszaadandó érték, ha a feltétel igaz. |
falseValue | Igen | sztring, int, objektum vagy tömb | A visszaadandó érték, ha a feltétel hamis. |
Visszaadott érték
A második paramétert adja vissza, ha az első paraméter Igaz; ellenkező esetben a harmadik paramétert adja vissza.
Megjegyzések
Ha a feltétel igaz, a rendszer csak a valódi értéket értékeli ki. Ha a feltétel hamis, a rendszer csak a hamis értéket értékeli ki. A függvényben if
olyan kifejezéseket is megadhat, amelyek csak feltételesen érvényesek. Hivatkozhat például egy olyan erőforrásra, amely az egyik feltétel alatt létezik, de a másik feltétel alatt nem. A kifejezések feltételes kiértékelésére az alábbi szakaszban látható példa.
Példák
Az alábbi példa a függvény használatát if
mutatja be.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [
],
"outputs": {
"yesOutput": {
"type": "string",
"value": "[if(equals('a', 'a'), 'yes', 'no')]"
},
"noOutput": {
"type": "string",
"value": "[if(equals('a', 'b'), 'yes', 'no')]"
},
"objectOutput": {
"type": "object",
"value": "[if(equals('a', 'a'), json('{\"test\": \"value1\"}'), json('null'))]"
}
}
}
Az előző példa kimenete a következő:
Név | Típus | Érték |
---|---|---|
yesOutput | Sztring | igen |
noOutput | Sztring | nem |
objectOutput | Objektum | { "test": "value1" } |
Az alábbi példasablon bemutatja, hogyan használhatja ezt a függvényt olyan kifejezésekkel, amelyek csak feltételesen érvényesek.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"vmName": {
"type": "string"
},
"location": {
"type": "string"
},
"logAnalytics": {
"type": "string",
"defaultValue": ""
}
},
"resources": [
{
"condition": "[not(empty(parameters('logAnalytics')))]",
"type": "Microsoft.Compute/virtualMachines/extensions",
"apiVersion": "2022-11-01",
"name": "[format('{0}/omsOnboarding', parameters('vmName'))]",
"location": "[parameters('location')]",
"properties": {
"publisher": "Microsoft.EnterpriseCloud.Monitoring",
"type": "MicrosoftMonitoringAgent",
"typeHandlerVersion": "1.0",
"autoUpgradeMinorVersion": true,
"settings": {
"workspaceId": "[if(not(empty(parameters('logAnalytics'))), reference(parameters('logAnalytics'), '2015-11-01-preview').customerId, null())]"
},
"protectedSettings": {
"workspaceKey": "[if(not(empty(parameters('logAnalytics'))), listKeys(parameters('logAnalytics'), '2015-11-01-preview').primarySharedKey, null())]"
}
}
}
],
"outputs": {
"mgmtStatus": {
"type": "string",
"value": "[if(not(empty(parameters('logAnalytics'))), 'Enabled monitoring for VM!', 'Nothing to enable')]"
}
}
}
Nem
not(arg1)
A logikai értéket az ellenkező értékké alakítja.
A not
Bicep nem támogatja a függvényt. Használja inkább a ! operátort .
Paraméterek
Paraméter | Kötelező | Típus | Leírás |
---|---|---|---|
arg1 | Igen | Logikai | Az átalakítandó érték. |
Visszaadott érték
Igaz értéket ad vissza, ha a paraméter hamis. Hamis értéket ad vissza, ha a paraméter igaz.
Példák
Az alábbi példa a logikai függvények használatát mutatja be.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [],
"outputs": {
"andExampleOutput": {
"type": "bool",
"value": "[and(bool('true'), bool('false'))]"
},
"orExampleOutput": {
"type": "bool",
"value": "[or(bool('true'), bool('false'))]"
},
"notExampleOutput": {
"type": "bool",
"value": "[not(bool('true'))]"
}
}
}
Az előző példa kimenete a következő:
Név | Típus | Érték |
---|---|---|
andExampleOutput | Bool | Hamis |
orExampleOutput | Bool | Igaz |
notExampleOutput | Bool | Hamis |
Az alábbi példa egyenlőkkel használjanot
.
{
"$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 |
vagy
or(arg1, arg2, ...)
Ellenőrzi, hogy a paraméter értéke igaz-e.
A or
Bicep nem támogatja a függvényt. Használja helyette a (z) || operátort .
Paraméterek
Paraméter | Kötelező | Típus | Leírás |
---|---|---|---|
arg1 | Igen | Logikai | Az első érték, amely ellenőrzi, hogy igaz-e. |
arg2 | Igen | Logikai | A második érték, amely ellenőrzi, hogy igaz-e. |
további argumentumok | Nem | Logikai | További argumentumok annak ellenőrzéséhez, hogy igaz-e. |
Visszaadott érték
Igaz értéket ad vissza, ha bármely érték igaz; ellenkező esetben Hamis.
Példák
Az alábbi példa a logikai függvények használatát mutatja be.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [],
"outputs": {
"andExampleOutput": {
"type": "bool",
"value": "[and(bool('true'), bool('false'))]"
},
"orExampleOutput": {
"type": "bool",
"value": "[or(bool('true'), bool('false'))]"
},
"notExampleOutput": {
"type": "bool",
"value": "[not(bool('true'))]"
}
}
}
Az előző példa kimenete a következő:
Név | Típus | Érték |
---|---|---|
andExampleOutput | Bool | Hamis |
orExampleOutput | Bool | Igaz |
notExampleOutput | Bool | Hamis |
true
true()
Igaz értéket ad vissza.
A true
függvény nem érhető el a Bicepben. Használja inkább a kulcsszót true
.
Paraméterek
A valódi függvény nem fogad el paramétereket.
Visszaadott érték
Egy logikai érték, amely mindig igaz.
Példa
Az alábbi példa egy valódi kimeneti értéket ad vissza.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [],
"outputs": {
"trueOutput": {
"type": "bool",
"value": "[true()]"
}
}
}
Az előző példa kimenete a következő:
Név | Típus | Érték |
---|---|---|
trueOutput | Bool | Igaz |
Következő lépések
- Az ARM-sablonok szakaszainak leírását az ARM-sablonok szerkezetének és szintaxisának ismertetése című témakörben találja.