Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Resource Manager innehåller flera funktioner för att göra jämförelser i din Azure Resource Manager-mall (ARM-mall):
Dricks
              Bicep rekommenderas eftersom det erbjuder samma funktioner som ARM-mallar och syntaxen är enklare att använda. Mer information finns i den bool logiska funktionen och logiska operatorer.
och
and(arg1, arg2, ...)
Kontrollerar om alla parametervärden är sanna.
Funktionen and stöds inte i Bicep. 
              Använd &-operatorn i stället.
Parametrar
| Parameter | Obligatoriskt | Type | Beskrivning | 
|---|---|---|---|
| arg1 | Ja | boolean | Det första värdet för att kontrollera om det är sant. | 
| arg2 | Ja | boolean | Det andra värdet för att kontrollera om det är sant. | 
| fler argument | Nej | boolean | Fler argument för att kontrollera om de är sanna. | 
Returvärde
Returnerar Sant om alla värden är sanna, annars False.
Exempel
I följande exempel visas hur du logical använder funktionen:
{
  "$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'))]"
    }
  }
}
Utdata från föregående exempel är:
| Namn | Type | Värde | 
|---|---|---|
| andExampleOutput | Bool | Falsk | 
| orExampleOutput | Bool | Sant | 
| notExampleOutput | Bool | Falsk | 
bool
bool(arg1)
Konverterar parametern till ett booleskt värde.
I Bicep använder du den logiska funktionen bool .
Parametrar
| Parameter | Obligatoriskt | Type | Beskrivning | 
|---|---|---|---|
| arg1 | Ja | sträng eller int | Värdet som ska konverteras till ett booleskt värde. | 
Returvärde
Ett booleskt värde för det konverterade värdet.
Kommentarer
Du kan också använda true() och false() för att hämta booleska värden.
Exempel
I följande exempel visas hur du använder bool med en sträng eller ett heltal:
{
  "$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)]"
    }
  }
}
Utdata från standardvärdena från föregående exempel är:
| Namn | Type | Värde | 
|---|---|---|
| trueString | Bool | Sant | 
| falseString | Bool | Falsk | 
| trueInt | Bool | Sant | 
| falseInt | Bool | Falsk | 
falskt
false()
Returnerar false.
Funktionen false är inte tillgänglig i Bicep. Använd nyckelordet false i stället.
Parametrar
Funktionen false accepterar inga parametrar.
Returvärde
Ett booleskt värde som alltid är falskt.
Exempel
I följande exempel returneras ett falskt utdatavärde:
{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "resources": [],
  "outputs": {
    "falseOutput": {
      "type": "bool",
      "value": "[false()]"
    }
  }
}
Utdata från föregående exempel är:
| Namn | Type | Värde | 
|---|---|---|
| falseOutput | Bool | Falsk | 
if
if(condition, trueValue, falseValue)
Returnerar ett värde baserat på om ett villkor är sant eller falskt.
Funktionen if stöds inte i Bicep. Använd operatorn  ?: i stället.
Parametrar
| Parameter | Obligatoriskt | Type | Beskrivning | 
|---|---|---|---|
| villkor | Ja | boolean | Värdet för att kontrollera om det är sant eller falskt. | 
| trueValue | Ja | sträng, int, objekt eller matris | Värdet som ska returneras när villkoret är sant. | 
| falseValue | Ja | sträng, int, objekt eller matris | Värdet som ska returneras när villkoret är falskt. | 
Returvärde
Returnerar den andra parametern när den första parametern är True. Annars returneras den tredje parametern.
Kommentarer
När villkoret är Sant utvärderas endast det sanna värdet. När villkoret är False utvärderas endast värdet false. 
              if Med funktionen kan du inkludera uttryck som endast är villkorligt giltiga. Du kan till exempel referera till en resurs som finns under ett villkor men inte under det andra villkoret. Ett exempel på villkorlig utvärdering av uttryck visas i följande avsnitt.
Observera att ovanstående regel endast gäller när villkoret kan utvärderas i början av malldistributionsprocessen. Du kan till exempel inte använda en reference() i villkoret.
Exempel
I följande exempel visas hur du if använder funktionen:
{
  "$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'))]"
    }
  }
}
Utdata från föregående exempel är:
| Namn | Type | Värde | 
|---|---|---|
| yesOutput | String | ja | 
| noOutput | String | nej | 
| objectOutput | Objekt | { "test": "value1" } | 
Följande exempelmall visar hur du använder den här funktionen med uttryck som endast är villkorligt giltiga.
{
  "$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')]"
    }
  }
}
not
not(arg1)
Konverterar booleskt värde till dess motsatta värde.
Funktionen not stöds inte i Bicep. Använd operatorn  ! i stället.
Parametrar
| Parameter | Obligatoriskt | Type | Beskrivning | 
|---|---|---|---|
| arg1 | Ja | boolean | Värdet som ska konverteras. | 
Returvärde
Returnerar Sant när parametern är False. Returnerar False när parametern är True.
Exempel
I följande exempel visas hur du logical använder funktionen:
{
  "$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'))]"
    }
  }
}
Utdata från föregående exempel är:
| Namn | Type | Värde | 
|---|---|---|
| andExampleOutput | Bool | Falsk | 
| orExampleOutput | Bool | Sant | 
| notExampleOutput | Bool | Falsk | 
I följande exempel används not med lika med:
{
  "$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))]"
    }
  }
}
Utdata från föregående exempel är:
| Namn | Type | Värde | 
|---|---|---|
| checkNotEquals | Bool | Sant | 
eller
or(arg1, arg2, ...)
Kontrollerar om något parametervärde är sant.
Funktionen or stöds inte i Bicep. Använd operatorn  || i stället.
Parametrar
| Parameter | Obligatoriskt | Type | Beskrivning | 
|---|---|---|---|
| arg1 | Ja | boolean | Det första värdet för att kontrollera om det är sant. | 
| arg2 | Ja | boolean | Det andra värdet för att kontrollera om det är sant. | 
| fler argument | Nej | boolean | Fler argument för att kontrollera om de är sanna. | 
Returvärde
Returnerar Sant om något värde är sant, annars Falskt.
Exempel
I följande exempel visas hur du logical använder funktionen:
{
  "$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'))]"
    }
  }
}
Utdata från föregående exempel är:
| Namn | Type | Värde | 
|---|---|---|
| andExampleOutput | Bool | Falsk | 
| orExampleOutput | Bool | Sant | 
| notExampleOutput | Bool | Falsk | 
true
true()
Returnerar "sant".
Funktionen true är inte tillgänglig i Bicep. Använd nyckelordet true i stället.
Parametrar
Funktionen true accepterar inga parametrar.
Returvärde
Ett booleskt som alltid är sant.
Exempel
I följande exempel returneras ett sant utdatavärde:
{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "resources": [],
  "outputs": {
    "trueOutput": {
      "type": "bool",
      "value": "[true()]"
    }
  }
}
Utdata från föregående exempel är:
| Namn | Type | Värde | 
|---|---|---|
| trueOutput | Bool | Sant | 
Nästa steg
- En beskrivning av avsnitten i en ARM-mall finns i Förstå strukturen och syntaxen för ARM-mallar.