Udostępnij za pośrednictwem


Funkcje liczbowe dla szablonów usługi ARM

Usługa Resource Manager udostępnia następujące funkcje do pracy z liczbami całkowitymi w szablonie usługi Azure Resource Manager (szablon usługi ARM):

Napiwek

Zalecamy Bicep , ponieważ oferuje te same możliwości co szablony usługi ARM, a składnia jest łatwiejsza w użyciu. Aby dowiedzieć się więcej na temat używania funkcji int, mini max w Bicep, zobacz funkcje liczbowe . Aby uzyskać informacje o innych wartościach liczbowych, zobacz operatory liczbowe .

add

add(operand1, operand2)

Zwraca sumę dwóch podanych liczb całkowitych.

Funkcja nie jest obsługiwana add w Bicep. + Zamiast tego użyj operatora .

Parametry

Parametr Wymagania Type Opis
operand1 Tak int Pierwsza liczba do dodania.
operand2 Tak int Druga liczba do dodania.

Wartość zwracana

Liczba całkowita zawierająca sumę parametrów.

Przykład

W poniższym przykładzie dodano dwa 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'))]"
    }
  }
}

Dane wyjściowe z poprzedniego przykładu z wartościami domyślnymi to:

Nazwisko Typ Wartość
addResult Int 8

copyIndex

copyIndex(loopName, offset)

Zwraca indeks pętli iteracji.

W Bicep użyj pętli iteracyjnych.

Parametry

Parametr Wymagania Type Opis
loopName Nie. string Nazwa pętli pobierania iteracji.
offset Nie. int Liczba, która ma zostać dodana do wartości iteracji opartej na zera.

Uwagi

Ta funkcja jest zawsze używana z obiektem kopiowania. Jeśli nie podano wartości przesunięcia, zwracana jest bieżąca wartość iteracji. Wartość iteracji rozpoczyna się od zera.

Właściwość loopName umożliwia określenie, czy właściwość copyIndex odwołuje się do iteracji zasobów, czy iteracji właściwości. Jeśli dla parametru loopName nie podano żadnej wartości, używana jest iteracja bieżącego typu zasobu. Podaj wartość parametru loopName podczas iteracji właściwości.

Aby uzyskać więcej informacji na temat korzystania z kopiowania, zobacz:

Przykład

W poniższym przykładzie przedstawiono pętlę kopiowania i wartość indeksu uwzględniona w nazwie.

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

Wartość zwracana

Liczba całkowita reprezentująca bieżący indeks iteracji.

div

div(operand1, operand2)

Zwraca podział liczb całkowitych dwóch podanych liczb całkowitych.

Funkcja nie jest obsługiwana div w Bicep. / Zamiast tego użyj operatora .

Parametry

Parametr Wymagania Type Opis
operand1 Tak int Liczba jest podzielona.
operand2 Tak int Liczba używana do dzielenia. Nie można mieć 0.

Wartość zwracana

Liczba całkowita reprezentująca podział.

Przykład

Poniższy przykład dzieli jeden parametr przez inny parametr.

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

Dane wyjściowe z poprzedniego przykładu z wartościami domyślnymi to:

Nazwisko Typ Wartość
divResult Int 2

liczba zmiennoprzecinkowa

float(arg1)

Konwertuje wartość na liczbę zmiennoprzecinkową. Ta funkcja jest używana tylko podczas przekazywania parametrów niestandardowych do aplikacji, takiej jak aplikacja logiki.

Funkcja nie jest obsługiwana float w Bicep.

Parametry

Parametr Wymagania Type Opis
arg1 Tak ciąg lub int Wartość, która ma być konwertowana na liczbę zmiennoprzecinkową.

Wartość zwracana

Liczba zmiennoprzecinkowa.

Przykład

W poniższym przykładzie pokazano, jak używać zmiennoprzecinkowych do przekazywania parametrów do aplikacji logiki:

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

int

int(valueToConvert)

Konwertuje określoną wartość na liczbę całkowitą.

W Bicep użyj funkcji int .

Parametry

Parametr Wymagania Type Opis
valueToConvert Tak ciąg lub int Wartość, która ma być konwertowana na liczbę całkowitą.

Wartość zwracana

Liczba całkowita przekonwertowanej wartości.

Przykład

Poniższy przykładowy szablon konwertuje wartość parametru podanego przez użytkownika na liczbę całkowitą.

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

Dane wyjściowe z poprzedniego przykładu z wartościami domyślnymi to:

Nazwisko Typ Wartość
intResult Int 100

max

max(arg1)

Zwraca wartość maksymalną z tablicy liczb całkowitych lub rozdzielanej przecinkami listy liczb całkowitych.

W Bicep użyj funkcji max .

Parametry

Parametr Wymagania Type Opis
arg1 Tak tablica liczb całkowitych lub rozdzielona przecinkami lista liczb całkowitych Kolekcja, aby uzyskać maksymalną wartość.

Wartość zwracana

Liczba całkowita reprezentująca maksymalną wartość z kolekcji.

Przykład

W poniższym przykładzie pokazano, jak używać wartości maksymalnej z tablicą i listą liczb całkowitych.

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

Dane wyjściowe z poprzedniego przykładu z wartościami domyślnymi to:

Nazwisko Typ Wartość
arrayOutput Int 5
intOutput Int 5

min

min(arg1)

Zwraca minimalną wartość z tablicy liczb całkowitych lub rozdzielanej przecinkami listy liczb całkowitych.

W Bicep użyj funkcji min .

Parametry

Parametr Wymagania Type Opis
arg1 Tak tablica liczb całkowitych lub rozdzielona przecinkami lista liczb całkowitych Kolekcja, aby uzyskać minimalną wartość.

Wartość zwracana

Liczba całkowita reprezentująca minimalną wartość z kolekcji.

Przykład

W poniższym przykładzie pokazano, jak używać min z tablicą i listą liczb całkowitych.

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

Dane wyjściowe z poprzedniego przykładu z wartościami domyślnymi to:

Nazwisko Typ Wartość
arrayOutput Int 0
intOutput Int 0

mod

mod(operand1, operand2)

Zwraca pozostałą część dzielenia całkowitego przy użyciu dwóch podanych liczb całkowitych.

Funkcja nie jest obsługiwana mod w Bicep. Zamiast tego użyj operatora %.

Parametry

Parametr Wymagania Type Opis
operand1 Tak int Liczba jest podzielona.
operand2 Tak int Liczba używana do dzielenia nie może być 0.

Wartość zwracana

Liczba całkowita reprezentująca resztę.

Przykład

Poniższy przykład zwraca pozostałą część dzielenia jednego parametru przez inny parametr.

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

Dane wyjściowe z poprzedniego przykładu z wartościami domyślnymi to:

Nazwisko Typ Wartość
modResult Int 1

Mul

mul(operand1, operand2)

Zwraca mnożenie dwóch podanych liczb całkowitych.

Funkcja nie jest obsługiwana mul w Bicep. Zamiast tego użyj operatora * .

Parametry

Parametr Wymagania Type Opis
operand1 Tak int Pierwsza liczba do pomnożenia.
operand2 Tak int Druga liczba do pomnożenia.

Wartość zwracana

Liczba całkowita reprezentująca mnożenie.

Przykład

Poniższy przykład mnoży jeden parametr przez inny parametr.

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

Dane wyjściowe z poprzedniego przykładu z wartościami domyślnymi to:

Nazwisko Typ Wartość
mulResult Int 45

sub

sub(operand1, operand2)

Zwraca odejmowanie dwóch podanych liczb całkowitych.

Funkcja nie jest obsługiwana sub w Bicep. Zamiast tego użyj operatora - .

Parametry

Parametr Wymagania Type Opis
operand1 Tak int Liczba odejmowana od.
operand2 Tak int Liczba, która jest odejmowana.

Wartość zwracana

Liczba całkowita reprezentująca odejmowanie.

Przykład

Poniższy przykład odejmuje jeden parametr z innego 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'))]"
    }
  }
}

Dane wyjściowe z poprzedniego przykładu z wartościami domyślnymi to:

Nazwisko Typ Wartość
subResult Int 100

Następne kroki