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
, min
och 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:
- Resurs iteration i ARM-mallar
- Egenskaps iteration i ARM-mallar
- Variabel iteration i ARM-mallar
- Iteration av utdata i ARM-mallar
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
- En beskrivning av avsnitten i en ARM-mall finns i Förstå strukturen och syntaxen för ARM-mallar.
- Information om hur du itererar ett angivet antal gånger när du skapar en typ av resurs finns i Resursiteration i ARM-mallar.