Dela via


Numeriska funktioner för ARM-mallar

Resource Manager tillhandahåller följande funktioner för att arbeta med heltal i din Azure Resource Manager-mall (ARM-mall):

Dricks

Vi rekommenderar Bicep eftersom det erbjuder samma funktioner som ARM-mallar och syntaxen är enklare att använda. Mer information om hur du använder int, minoch max i Bicep finns i numeriska funktioner. Andra numeriska värden finns i numeriska operatorer.

add

add(operand1, operand2)

Returnerar summan av de två heltalen.

Funktionen add stöds inte i Bicep. Använd operatorn + i stället.

Parametrar

Parameter Obligatoriskt Type Beskrivning
operand1 Ja heltal Första talet som ska läggas till.
operand2 Ja heltal Andra talet att lägga till.

Returvärde

Ett heltal som innehåller summan av parametrarna.

Exempel

I följande exempel läggs två parametrar till.

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "first": {
      "type": "int",
      "defaultValue": 5,
      "metadata": {
        "description": "First integer to add"
      }
    },
    "second": {
      "type": "int",
      "defaultValue": 3,
      "metadata": {
        "description": "Second integer to add"
      }
    }
  },
  "resources": [
  ],
  "outputs": {
    "addResult": {
      "type": "int",
      "value": "[add(parameters('first'), parameters('second'))]"
    }
  }
}

Utdata från föregående exempel med standardvärdena är:

Namn Typ Värde
addResult Int 8

copyIndex

copyIndex(loopName, offset)

Returnerar indexet för en iterationsloop.

I Bicep använder du iterativa loopar.

Parametrar

Parameter Obligatoriskt Type Beskrivning
loopName Nej sträng Namnet på loopen för att hämta iterationen.
förskjutning Nej heltal Talet som ska läggas till i det nollbaserade iterationsvärdet.

Kommentarer

Den här funktionen används alltid med ett kopieringsobjekt . Om inget värde anges för offset returneras det aktuella iterationsvärdet. Iterationsvärdet börjar på noll.

Med egenskapen loopName kan du ange om copyIndex refererar till en resurs-iteration eller egenskaps-iteration. Om inget värde anges för loopName används den aktuella iterationen av resurstyp. Ange ett värde för loopName när du itererar på en egenskap.

Mer information om hur du använder kopiera finns i:

Exempel

I följande exempel visas en kopieringsloop och indexvärdet som ingår i namnet.

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "storageCount": {
      "type": "int",
      "defaultValue": 2
    },
    "location": {
      "type": "string",
      "defaultValue": "[resourceGroup().location]"
    }
  },
  "resources": [
    {
      "type": "Microsoft.Storage/storageAccounts",
      "apiVersion": "2022-09-01",
      "name": "[format('{0}storage{1}', range(0, parameters('storageCount'))[copyIndex()], uniqueString(resourceGroup().id))]",
      "location": "[parameters('location')]",
      "sku": {
        "name": "Standard_LRS"
      },
      "kind": "Storage",
      "properties": {},
      "copy": {
        "name": "storagecopy",
        "count": "[parameters('storageCount')]"
      }
    }
  ]
}

Returvärde

Ett heltal som representerar iterationens aktuella index.

div

div(operand1, operand2)

Returnerar heltalsdivisionen för de två angivna heltalen.

Funktionen div stöds inte i Bicep. Använd operatorn / i stället.

Parametrar

Parameter Obligatoriskt Type Beskrivning
operand1 Ja heltal Talet som delas.
operand2 Ja heltal Det tal som används för att dividera. Kan inte vara 0.

Returvärde

Ett heltal som representerar divisionen.

Exempel

I följande exempel delas en parameter med en annan parameter.

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "first": {
      "type": "int",
      "defaultValue": 8,
      "metadata": {
        "description": "Integer being divided"
      }
    },
    "second": {
      "type": "int",
      "defaultValue": 3,
      "metadata": {
        "description": "Integer used to divide"
      }
    }
  },
  "resources": [
  ],
  "outputs": {
    "divResult": {
      "type": "int",
      "value": "[div(parameters('first'), parameters('second'))]"
    }
  }
}

Utdata från föregående exempel med standardvärdena är:

Namn Typ Värde
divResult Int 2

flyttal

float(arg1)

Konverterar värdet till ett flyttalsnummer. Du använder bara den här funktionen när du skickar anpassade parametrar till ett program, till exempel en logikapp.

Funktionen float stöds inte i Bicep.

Parametrar

Parameter Obligatoriskt Type Beskrivning
arg1 Ja sträng eller int Värdet som ska konverteras till ett flyttalsnummer.

Returvärde

Ett flyttalsnummer.

Exempel

I följande exempel visas hur du använder flyttal för att skicka parametrar till en logikapp:

{
  "type": "Microsoft.Logic/workflows",
  "properties": {
    ...
    "parameters": {
      "custom1": {
        "value": "[float('3.0')]"
      },
      "custom2": {
        "value": "[float(3)]"
      },

heltal

int(valueToConvert)

Konverterar det angivna värdet till ett heltal.

Använd int-funktionen i Bicep.

Parametrar

Parameter Obligatoriskt Type Beskrivning
valueToConvert Ja sträng eller int Värdet som ska konverteras till ett heltal.

Returvärde

Ett heltal för det konverterade värdet.

Exempel

I följande exempelmall konverteras parametervärdet från användaren till heltal.

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "stringToConvert": {
      "type": "string",
      "defaultValue": "4"
    }
  },
  "resources": [
  ],
  "outputs": {
    "intResult": {
      "type": "int",
      "value": "[int(parameters('stringToConvert'))]"
    }
  }
}

Utdata från föregående exempel med standardvärdena är:

Namn Typ Värde
intResult Int 4

max

max(arg1)

Returnerar det maximala värdet från en matris med heltal eller en kommaavgränsad lista med heltal.

Använd maxfunktionen i Bicep.

Parametrar

Parameter Obligatoriskt Type Beskrivning
arg1 Ja matris med heltal eller kommaavgränsad lista över heltal Samlingen för att hämta det maximala värdet.

Returvärde

Ett heltal som representerar det maximala värdet från samlingen.

Exempel

I följande exempel visas hur du använder max med en matris och en lista över heltal.

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "arrayToTest": {
      "type": "array",
      "defaultValue": [ 0, 3, 2, 5, 4 ]
    }
  },
  "resources": [],
  "outputs": {
    "arrayOutput": {
      "type": "int",
      "value": "[max(parameters('arrayToTest'))]"
    },
    "intOutput": {
      "type": "int",
      "value": "[max(0,3,2,5,4)]"
    }
  }
}

Utdata från föregående exempel med standardvärdena är:

Namn Typ Värde
arrayOutput Int 5
intOutput Int 5

min

min(arg1)

Returnerar det minsta värdet från en matris med heltal eller en kommaavgränsad lista med heltal.

I Bicep använder du funktionen min .

Parametrar

Parameter Obligatoriskt Type Beskrivning
arg1 Ja matris med heltal eller kommaavgränsad lista över heltal Samlingen för att hämta minimivärdet.

Returvärde

Ett heltal som representerar minimivärdet från samlingen.

Exempel

I följande exempel visas hur du använder min med en matris och en lista med heltal.

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "arrayToTest": {
      "type": "array",
      "defaultValue": [ 0, 3, 2, 5, 4 ]
    }
  },
  "resources": [],
  "outputs": {
    "arrayOutput": {
      "type": "int",
      "value": "[min(parameters('arrayToTest'))]"
    },
    "intOutput": {
      "type": "int",
      "value": "[min(0,3,2,5,4)]"
    }
  }
}

Utdata från föregående exempel med standardvärdena är:

Namn Typ Värde
arrayOutput Int 0
intOutput Int 0

mod

mod(operand1, operand2)

Returnerar resten av heltalsdivisionen med hjälp av de två angivna heltalen.

Funktionen mod stöds inte i Bicep. Använd operatorn % i stället.

Parametrar

Parameter Obligatoriskt Type Beskrivning
operand1 Ja heltal Talet som delas.
operand2 Ja heltal Det tal som används för att dela upp, Kan inte vara 0.

Returvärde

Ett heltal som representerar resten.

Exempel

I följande exempel returneras resten av uppdelningen av en parameter med en annan parameter.

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "first": {
      "type": "int",
      "defaultValue": 7,
      "metadata": {
        "description": "Integer being divided"
      }
    },
    "second": {
      "type": "int",
      "defaultValue": 3,
      "metadata": {
        "description": "Integer used to divide"
      }
    }
  },
  "resources": [
  ],
  "outputs": {
    "modResult": {
      "type": "int",
      "value": "[mod(parameters('first'), parameters('second'))]"
    }
  }
}

Utdata från föregående exempel med standardvärdena är:

Namn Typ Värde
modResult Int 1

mul

mul(operand1, operand2)

Returnerar multiplikationen för de två angivna heltalen.

Funktionen mul stöds inte i Bicep. Använd operatorn * i stället.

Parametrar

Parameter Obligatoriskt Type Beskrivning
operand1 Ja heltal Första talet som ska multipliceras.
operand2 Ja heltal Andra talet att multiplicera.

Returvärde

Ett heltal som representerar multiplikationen.

Exempel

I följande exempel multipliceras en parameter med en annan parameter.

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "first": {
      "type": "int",
      "defaultValue": 5,
      "metadata": {
        "description": "First integer to multiply"
      }
    },
    "second": {
      "type": "int",
      "defaultValue": 3,
      "metadata": {
        "description": "Second integer to multiply"
      }
    }
  },
  "resources": [
  ],
  "outputs": {
    "mulResult": {
      "type": "int",
      "value": "[mul(mul(parameters('first'), parameters('second')), 3)]"
    }
  }
}

Utdata från föregående exempel med standardvärdena är:

Namn Typ Värde
mulResult Int 45

under

sub(operand1, operand2)

Returnerar subtraktionen för de två angivna heltalen.

Funktionen sub stöds inte i Bicep. Använd operatorn - i stället.

Parametrar

Parameter Obligatoriskt Type Beskrivning
operand1 Ja heltal Talet som subtraheras från.
operand2 Ja heltal Talet som subtraheras.

Returvärde

Ett heltal som representerar subtraktionen.

Exempel

I följande exempel subtraheras en parameter från en annan parameter.

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "first": {
      "type": "int",
      "defaultValue": 7,
      "metadata": {
        "description": "Integer subtracted from"
      }
    },
    "second": {
      "type": "int",
      "defaultValue": 3,
      "metadata": {
        "description": "Integer to subtract"
      }
    }
  },
  "resources": [
  ],
  "outputs": {
    "subResult": {
      "type": "int",
      "value": "[sub(parameters('first'), parameters('second'))]"
    }
  }
}

Utdata från föregående exempel med standardvärdena är:

Namn Typ Värde
subResult Int 4

Nästa steg