Číselné funkce pro šablony ARM

Resource Manager poskytuje následující funkce pro práci s celými čísly v šabloně Azure Resource Manager (šablona ARM):

Tip

Doporučujeme Bicep , protože nabízí stejné funkce jako šablony ARM a syntaxe se snadněji používá. Další informace o používání int, mina max v nástroji Bicep najdete v tématu Číselné funkce. Další číselné hodnoty najdete v části Číselné operátory.

add

add(operand1, operand2)

Vrátí součet dvou zadaných celých čísel.

Funkce add se v nástroji Bicep nepodporuje. Místo toho + použijte operátor .

Parametry

Parametr Povinné Typ Description
operand1 Yes int První číslo, které se má sečíst.
operand2 Yes int Druhé číslo, které se má sečíst.

Vrácená hodnota

Celé číslo, které obsahuje součet parametrů.

Příklad

Následující příklad přidá dva parametry.

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

Výstup z předchozího příkladu s výchozími hodnotami je:

Název Typ Hodnota
addResult Int 8

copyIndex

copyIndex(loopName, offset)

Vrátí index smyčky iterace.

V nástroji Bicep použijte iterativní smyčky.

Parametry

Parametr Povinné Typ Description
název_smyčky No řetězec Název smyčky pro získání iterace.
posun No int Číslo, které se má přičíst k hodnotě iterace založené na nule.

Poznámky

Tato funkce se vždy používá s objektem kopírování . Pokud není pro posun zadaná žádná hodnota, vrátí se aktuální hodnota iterace. Hodnota iterace začíná na nule.

Vlastnost loopName umožňuje určit, jestli copyIndex odkazuje na iteraci prostředku nebo iteraci vlastnosti. Pokud pro loopName není zadána žádná hodnota, použije se aktuální iterace typu prostředku. Při iteraci vlastnosti zadejte hodnotu loopName .

Další informace o používání kopírování najdete tady:

Příklad

Následující příklad ukazuje smyčku kopírování a hodnotu indexu obsaženou v názvu.

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

Vrácená hodnota

Celé číslo představující aktuální index iterace.

div

div(operand1, operand2)

Vrátí celočíselné dělení dvou zadaných celých čísel.

Funkce div se v nástroji Bicep nepodporuje. Místo toho / použijte operátor .

Parametry

Parametr Povinné Typ Description
operand1 Yes int Dělené číslo.
operand2 Yes int Číslo, které se používá k dělení. Nemůže být 0.

Vrácená hodnota

Celé číslo představující dělení.

Příklad

Následující příklad vydělí jeden parametr jiným parametrem.

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

Výstup z předchozího příkladu s výchozími hodnotami je:

Název Typ Hodnota
divResult Int 2

float

float(arg1)

Převede hodnotu na číslo s plovoucí desetinou čárkou. Tuto funkci použijete pouze při předávání vlastních parametrů do aplikace, jako je například aplikace logiky.

Funkce float není v nástroji Bicep podporovaná.

Parametry

Parametr Povinné Typ Description
arg1 Yes string nebo int Hodnota, která se má převést na číslo s plovoucí desetinou čárkou.

Vrácená hodnota

Číslo s plovoucí desetinou čárkou.

Příklad

Následující příklad ukazuje, jak pomocí funkce float předat parametry do aplikace logiky:

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

int

int(valueToConvert)

Převede zadanou hodnotu na celé číslo.

V nástroji Bicep použijte funkci int .

Parametry

Parametr Povinné Typ Description
valueToConvert Yes string nebo int Hodnota, která se má převést na celé číslo.

Vrácená hodnota

Celé číslo převedené hodnoty.

Příklad

Následující příklad šablony převede hodnotu parametru zadaného uživatelem na celé číslo.

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

Výstup z předchozího příkladu s výchozími hodnotami je:

Název Typ Hodnota
intResult Int 4

max

max(arg1)

Vrátí maximální hodnotu z pole celých čísel nebo seznamu celých čísel oddělených čárkami.

V nástroji Bicep použijte funkci max .

Parametry

Parametr Povinné Typ Description
arg1 Yes pole celých čísel nebo seznam celých čísel oddělených čárkami Kolekce pro získání maximální hodnoty.

Vrácená hodnota

Celé číslo představující maximální hodnotu z kolekce.

Příklad

Následující příklad ukazuje, jak použít max s polem a seznamem celých čísel.

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

Výstup z předchozího příkladu s výchozími hodnotami je:

Název Typ Hodnota
poleOutput Int 5
intOutput Int 5

min

min(arg1)

Vrátí minimální hodnotu z pole celých čísel nebo seznamu celých čísel oddělených čárkami.

V nástroji Bicep použijte funkci min .

Parametry

Parametr Povinné Typ Description
arg1 Yes pole celých čísel nebo seznam celých čísel oddělených čárkami Kolekce pro získání minimální hodnoty.

Vrácená hodnota

Celé číslo představující minimální hodnotu z kolekce.

Příklad

Následující příklad ukazuje, jak použít min s polem a seznamem celých čísel.

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

Výstup z předchozího příkladu s výchozími hodnotami je:

Název Typ Hodnota
poleOutput Int 0
intOutput Int 0

Mod

mod(operand1, operand2)

Vrátí zbytek celočíselného dělení pomocí dvou zadaných celých čísel.

Funkce mod se v nástroji Bicep nepodporuje. Místo toho použijte operátor % .

Parametry

Parametr Povinné Typ Description
operand1 Yes int Dělené číslo.
operand2 Yes int Číslo, které se používá k dělení, nemůže být 0.

Vrácená hodnota

Celé číslo představující zbytek.

Příklad

Následující příklad vrátí zbytek dělení jednoho parametru jiným parametrem.

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

Výstup z předchozího příkladu s výchozími hodnotami je:

Název Typ Hodnota
modResult Int 1

mul

mul(operand1, operand2)

Vrátí násobení dvou zadaných celých čísel.

Funkce mul se v nástroji Bicep nepodporuje. Místo toho použijte operátor * .

Parametry

Parametr Povinné Typ Description
operand1 Yes int První číslo, které se má vynásobit.
operand2 Yes int Druhé číslo, které se má vynásobit.

Vrácená hodnota

Celé číslo představující násobení.

Příklad

Následující příklad vynásobí jeden parametr jiným parametrem.

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

Výstup z předchozího příkladu s výchozími hodnotami je:

Název Typ Hodnota
mulResult Int 45

Dílčí

sub(operand1, operand2)

Vrátí odčítání dvou zadaných celých čísel.

Funkce sub se v nástroji Bicep nepodporuje. Místo toho použijte operátor - .

Parametry

Parametr Povinné Typ Description
operand1 Yes int Číslo, od kterého se odečte.
operand2 Yes int Číslo, které se odečte.

Vrácená hodnota

Celé číslo představující odčítání.

Příklad

Následující příklad odečte jeden parametr od jiného parametru.

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

Výstup z předchozího příkladu s výchozími hodnotami je:

Název Typ Hodnota
subResult Int 4

Další kroky