Freigeben über


Logikfunktionen für ARM-Vorlagen

Resource Manager stellt mehrere Funktionen zum Durchführen von Vergleichen in Ihren Azure Resource Manager-Vorlagen (ARM-Vorlagen) bereit:

Tipp

Bicep wird empfohlen, da sie dieselben Funktionen wie ARM-Vorlagen bietet und die Syntax einfacher zu verwenden ist. Weitere Informationen finden Sie in der bool logischen Funktion und logischen Operatoren.

und

and(arg1, arg2, ...)

Überprüft, ob alle Parameterwerte wahr sind.

Die and-Funktion wird in Bicep nicht unterstützt. Verwenden Sie stattdessen den &&-Operator.

Parameter

Parameter Erforderlich Typ BESCHREIBUNG
arg1 Ja boolean Der erste Wert, der überprüft werden soll, ob er wahr ist.
arg2 Ja boolean Der zweite Wert, der überprüft werden soll, ob er wahr ist.
Mehr Argumente Nein boolean Weitere Argumente, um zu überprüfen, ob sie wahr sind.

Rückgabewert

Gibt True zurück, wenn alle Werte zutreffen. Andernfalls wird False zurückgegeben.

Beispiele

Das folgende Beispiel zeigt die Verwendung der Funktion logical:

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

Die Ausgabe aus dem vorherigen Beispiel lautet wie folgt:

Name Typ Wert
andExampleOutput Bool False
orExampleOutput Bool True
notExampleOutput Bool False

bool

bool(arg1)

Konvertiert den Parameter in einen booleschen Wert.

Verwenden Sie in Bicep die logische bool-Funktion.

Parameter

Parameter Erforderlich Typ BESCHREIBUNG
arg1 Ja Zeichenfolge oder ganze Zahl Der Wert, der in einen booleschen Wert konvertiert werden soll.

Rückgabewert

Ein boolescher Wert des konvertierten Werts.

Bemerkungen

Sie können auch true() und false() verwenden, um boolesche Werte zu erhalten.

Beispiele

Das folgende Beispiel zeigt, wie sie mit einer Zeichenfolge oder einer ganzen Zahl verwendet werden bool :

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

Die Ausgabe der Standardwerte aus dem vorherigen Beispiel lautet:

Name Typ Wert
trueString Bool True
falseString Bool False
trueInt Bool True
falseInt Bool False

false

false()

Gibt false zurück.

Die Funktion false ist in Bicep nicht verfügbar. Verwenden Sie stattdessen das Schlüsselwort false.

Parameter

Die false Funktion akzeptiert keine Parameter.

Rückgabewert

Ein boolescher Wert, der immer falsch ist.

Beispiel

Im folgenden Beispiel wird ein falscher Ausgabewert zurückgegeben:

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "resources": [],
  "outputs": {
    "falseOutput": {
      "type": "bool",
      "value": "[false()]"
    }
  }
}

Die Ausgabe aus dem vorherigen Beispiel lautet wie folgt:

Name Typ Wert
falseOutput Bool False

if

if(condition, trueValue, falseValue)

Gibt einen Wert zurück, der darauf basiert, ob eine Bedingung wahr oder falsch ist.

Die if-Funktion wird in Bicep nicht unterstützt. Verwenden Sie stattdessen den ?:-Operator.

Parameter

Parameter Erforderlich Typ BESCHREIBUNG
condition Ja boolean Der Wert, der überprüft werden soll, ob er wahr oder falsch ist.
trueValue Ja Zeichenfolge, Integer, Objekt oder Array Der zurückzugebende Wert, wenn die Bedingung zutrifft.
falseValue Ja Zeichenfolge, Integer, Objekt oder Array Der zurückzugebende Wert, wenn die Bedingung nicht zutrifft.

Rückgabewert

Gibt den zweiten Parameter zurück, wenn der erste Parameter True ist, andernfalls wird der dritte Parameter zurückgegeben.

Bemerkungen

Wenn die Bedingung zutrifft (True), wird nur der Wert „True“ ausgewertet. Wenn die Bedingung nicht zutrifft (False), wird nur der Wert „False“ ausgewertet. Mit der if-Funktion („Wenn“) können Sie Ausdrücke einschließen, die nur bedingt gültig sind. Beispielsweise können Sie auf eine Ressource verweisen, die unter der einen Bedingung, nicht aber unter der anderen Bedingung vorhanden ist. Ein Beispiel für die bedingte Auswertung von Ausdrücken wird im nächsten Abschnitt gezeigt.

Beachten Sie, dass die oben genannte Regel nur gilt, wenn die Bedingung zu Beginn des Vorlagenbereitstellungsprozesses ausgewertet werden kann. Beispielsweise können Sie eine in der Bedingung nicht verwenden reference() .

Beispiele

Das folgende Beispiel zeigt die Verwendung der Funktion if:

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

Die Ausgabe aus dem vorherigen Beispiel lautet wie folgt:

Name Typ Wert
yesOutput String ja
noOutput String nein
objectOutput Object { "test": "value1" }

In der folgenden Beispielvorlage wird gezeigt, wie Sie diese Funktion mit Ausdrücken verwenden, die nur bedingt gültig sind.

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

not

not(arg1)

Konvertiert den booleschen Wert in seinen gegenteiligen Wert.

Die not-Funktion wird in Bicep nicht unterstützt. Verwenden Sie stattdessen den !-Operator.

Parameter

Parameter Erforderlich Typ BESCHREIBUNG
arg1 Ja boolean Der zu konvertierende Wert.

Rückgabewert

Gibt True zurück, wenn der Parameter False ist. Gibt False zurück, wenn der Parameter True ist.

Beispiele

Das folgende Beispiel zeigt die Verwendung der Funktion logical:

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

Die Ausgabe aus dem vorherigen Beispiel lautet wie folgt:

Name Typ Wert
andExampleOutput Bool False
orExampleOutput Bool True
notExampleOutput Bool False

Im folgenden Beispiel wird "gleich" verwendetnot:

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

Die Ausgabe aus dem vorherigen Beispiel lautet wie folgt:

Name Typ Wert
checkNotEquals Bool True

oder

or(arg1, arg2, ...)

Überprüft, ob ein Parameterwert wahr ist.

Die or-Funktion wird in Bicep nicht unterstützt. Verwenden Sie stattdessen den ||-Operator.

Parameter

Parameter Erforderlich Typ BESCHREIBUNG
arg1 Ja boolean Der erste Wert, der überprüft werden soll, ob er wahr ist.
arg2 Ja boolean Der zweite Wert, der überprüft werden soll, ob er wahr ist.
Mehr Argumente Nein boolean Weitere Argumente, um zu überprüfen, ob sie wahr sind.

Rückgabewert

Gibt True zurück, wenn einer der Werte zutrifft. Andernfalls wird False zurückgegeben.

Beispiele

Das folgende Beispiel zeigt die Verwendung der Funktion logical:

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

Die Ausgabe aus dem vorherigen Beispiel lautet wie folgt:

Name Typ Wert
andExampleOutput Bool False
orExampleOutput Bool True
notExampleOutput Bool False

true

true()

Gibt true zurück.

Die Funktion true ist in Bicep nicht verfügbar. Verwenden Sie stattdessen das Schlüsselwort true.

Parameter

Die true Funktion akzeptiert keine Parameter.

Rückgabewert

Ein boolescher Wert, der immer wahr ist.

Beispiel

Im folgenden Beispiel wird ein wahrer Ausgabewert zurückgegeben:

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "resources": [],
  "outputs": {
    "trueOutput": {
      "type": "bool",
      "value": "[true()]"
    }
  }
}

Die Ausgabe aus dem vorherigen Beispiel lautet wie folgt:

Name Typ Wert
trueOutput Bool True

Nächste Schritte