Sdílet prostřednictvím


Číselné funkce pro šablony ARM

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

Tip

Doporučujeme Bicep, protože nabízí stejné možnosti jako šablony ARM a syntaxe se snadněji používá. Další informace o použití funkce int, mina max v Bicep najdete v tématu číselné funkce. Další číselné hodnoty najdete v číselných operátorech.

add

add(operand1, operand2)

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

Funkce add není v Bicep podporovaná. + Místo toho použijte operátor.

Parametry

Parametr Požaduje se Type Popis
operand1 Ano int První číslo, které se má přidat.
operand2 Ano int Druhé číslo, které se má sčítat.

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:

Name Typ Hodnota
addResult Int 8

copyIndex

copyIndex(loopName, offset)

Vrátí index smyčky iterace.

V Bicep použijte iterativní smyčky.

Parametry

Parametr Požaduje se Type Popis
loopName No string Název smyčky pro získání iterace.
offset No int Číslo, které se má přidat 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á nulou.

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

Další informace o použití kopie 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 není v Bicep podporovaná. / Místo toho použijte operátor.

Parametry

Parametr Požaduje se Type Popis
operand1 Ano int Číslo, které se dělí.
operand2 Ano int Jedná se o čí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:

Name Typ Hodnota
divResult Int 2

float (číslo s plovoucí řádovou čárkou)

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, například aplikace logiky.

Funkce float není v Bicep podporovaná.

Parametry

Parametr Požaduje se Type Popis
arg1 Ano řetězec 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í příkazu 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 Bicep použijte funkci int .

Parametry

Parametr Požaduje se Type Popis
valueToConvert Ano řetězec 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 poskytnuté 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:

Name 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 Bicep použijte maximální funkci.

Parametry

Parametr Požaduje se Type Popis
arg1 Ano 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 maximum 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:

Name Typ Hodnota
arrayOutput 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 Bicep použijte minimální funkci.

Parametry

Parametr Požaduje se Type Popis
arg1 Ano 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 použití 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:

Name Typ Hodnota
arrayOutput 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 není v Bicep podporovaná. Místo toho použijte operátor %.

Parametry

Parametr Požaduje se Type Popis
operand1 Ano int Číslo, které se dělí.
operand2 Ano int Číslo, které se používá k dělení, nesmí 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:

Name Typ Hodnota
modResult Int 0

mul

mul(operand1, operand2)

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

Funkce mul není v Bicep podporovaná. Místo toho použijte operátor *.

Parametry

Parametr Požaduje se Type Popis
operand1 Ano int První číslo, které se má násobit.
operand2 Ano 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:

Name Typ Hodnota
mulResult Int 45

předmět

sub(operand1, operand2)

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

Funkce sub není v Bicep podporovaná. Místo toho použijte operátor - .

Parametry

Parametr Požaduje se Type Popis
operand1 Ano int Číslo, které je odečítané.
operand2 Ano 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:

Name Typ Hodnota
subResult Int 4

Další kroky