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.

and

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 .

Parameters

Paraméter Szükséges Type Description
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ő:

Name Típus Érték
andExampleOutput Bool False
orExampleOutput Bool Igaz
notExampleOutput Bool False

logikai

bool(arg1)

A paramétert logikai értékké alakítja.

A Bicepben használja a bool logikai függvényt.

Parameters

Paraméter Szükséges Type Description
arg1 Igen sztring vagy int A logikai értékké konvertálandó érték.

Visszaadott érték

A konvertált érték logikai értéke.

Remarks

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ő:

Name Típus Érték
trueString Bool Igaz
falseString Bool False
trueInt Bool Igaz
falseInt Bool False

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 .

Parameters

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ő:

Name Típus Érték
falseOutput Bool False

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 .

Parameters

Paraméter Szükséges Type Description
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.

Remarks

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ő:

Name Típus Érték
yesOutput Sztring igen
noOutput Sztring nem
objectOutput Object { "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 .

Parameters

Paraméter Szükséges Type Description
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ő:

Name Típus Érték
andExampleOutput Bool False
orExampleOutput Bool Igaz
notExampleOutput Bool False

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ő:

Name 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 .

Parameters

Paraméter Szükséges Type Description
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ő:

Name Típus Érték
andExampleOutput Bool False
orExampleOutput Bool Igaz
notExampleOutput Bool False

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 .

Parameters

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ő:

Name Típus Érték
trueOutput Bool Igaz

További lépések