Funzioni numeriche per i modelli di Resource Manager
Resource Manager offre le funzioni seguenti per l'uso di numeri interi nel modello di Azure Resource Manager (modello di Resource Manager):
Suggerimento
È consigliabile Bicep perché offre le stesse funzionalità dei modelli di ARM e la sintassi è più semplice. Per altre informazioni sull'uso int
di , min
e max
in Bicep, vedere Funzioni numeriche . Per altri valori numerici, vedere Operatori numerici .
add
add(operand1, operand2)
Restituisce la somma dei due numeri interi forniti.
La funzione add
non è supportata in Bicep. Usare invece l'operatore +
.
Parametri
Parametro | Richiesto | Type | Descrizione |
---|---|---|---|
operand1 | Sì | int | Il primo numero da aggiungere. |
operand2 | Sì | int | Il secondo numero da aggiungere. |
Valore restituito
Un intero che contiene la somma dei parametri.
Esempio
L'esempio seguente aggiunge due parametri.
{
"$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'))]"
}
}
}
L'output dell'esempio precedente con i valori predefiniti è il seguente:
Nome | Type | Valore |
---|---|---|
addResult | Int | 8 |
copyIndex
copyIndex(loopName, offset)
Restituisce l'indice di un ciclo di iterazione.
In Bicep usare cicli iterativi.
Parametri
Parametro | Richiesto | Type | Descrizione |
---|---|---|---|
loopName | No | string | Nome del ciclo per ottenere l'iterazione. |
offset | No | int | Il numero da aggiungere al valore di iterazione in base zero. |
Osservazioni:
Questa funzione viene sempre usata con un oggetto copy . Se non viene specificato alcun valore per offset, viene restituito il valore di iterazione corrente. Il valore di iterazione inizia da zero.
La proprietà loopName consente di specificare se copyIndex fa riferimento all'iterazione di una risorsa o all'iterazione di una proprietà. Se non viene specificato alcun valore per loopName, viene usata l'iterazione del tipo di risorsa corrente. Specificare un valore per loopName durante l'iterazione di una proprietà.
Per altre informazioni sull'uso della copia, vedere:
- Iterazione delle risorse nei modelli di ARM
- Iterazione delle proprietà nei modelli di ARM
- Iterazione delle variabili nei modelli di ARM
- Iterazione di output nei modelli di ARM
Esempio
L'esempio seguente illustra un ciclo di copy e il valore di indice incluso nel nome.
{
"$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')]"
}
}
]
}
Valore restituito
Un intero che rappresenta l'indice corrente dell'iterazione.
div
div(operand1, operand2)
Restituisce la divisione Integer dei due numeri interi forniti.
La funzione div
non è supportata in Bicep. Usare invece l'operatore /
.
Parametri
Parametro | Richiesto | Type | Descrizione |
---|---|---|---|
operand1 | Sì | int | Il numero da dividere. |
operand2 | Sì | int | Il numero usato per dividere. Non può essere 0. |
Valore restituito
Un intero che rappresenta la divisione.
Esempio
L'esempio seguente mostra come dividere un parametro per un altro parametro.
{
"$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'))]"
}
}
}
L'output dell'esempio precedente con i valori predefiniti è il seguente:
Nome | Type | Valore |
---|---|---|
divResult | Int | 2 |
float
float(arg1)
Converte il valore in un numero a virgola mobile. Usare questa funzione solo quando si passano parametri personalizzati a un'applicazione, ad esempio un'app per la logica.
La funzione float
non è supportata in Bicep.
Parametri
Parametro | Richiesto | Type | Descrizione |
---|---|---|---|
arg1 | Sì | stringa o numero intero | Il valore da convertire in un numero a virgola mobile. |
Valore restituito
Un numero a virgola mobile.
Esempio
L'esempio seguente illustra come usare float per passare parametri a un'app per la logica:
{
"type": "Microsoft.Logic/workflows",
"properties": {
...
"parameters": {
"custom1": {
"value": "[float('3.0')]"
},
"custom2": {
"value": "[float(3)]"
},
int
int(valueToConvert)
Converte il valore specificato in un numero intero.
In Bicep usare la funzione int .
Parametri
Parametro | Richiesto | Type | Descrizione |
---|---|---|---|
valueToConvert | Sì | stringa o numero intero | Il valore da convertire in numero intero. |
Valore restituito
Un intero del valore convertito.
Esempio
Il modello di esempio seguente converte il valore del parametro fornito dall'utente in intero.
{
"$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'))]"
}
}
}
L'output dell'esempio precedente con i valori predefiniti è il seguente:
Nome | Type | Valore |
---|---|---|
intResult | Int | 4 |
max
max(arg1)
Restituisce il valore massimo da una matrice di numeri interi o da un elenco di numeri interi delimitato da virgole.
In Bicep usare la funzione max .
Parametri
Parametro | Richiesto | Type | Descrizione |
---|---|---|---|
arg1 | Sì | matrice di numeri interi o elenco di numeri interi delimitato da virgole | La raccolta per ottenere il valore massimo. |
Valore restituito
Un intero che rappresenta il valore massimo dalla raccolta.
Esempio
L'esempio seguente mostra come usare la funzione max con una matrice e un elenco di numeri interi:
{
"$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)]"
}
}
}
L'output dell'esempio precedente con i valori predefiniti è il seguente:
Nome | Type | Valore |
---|---|---|
arrayOutput | Int | 5 |
intOutput | Int | 5 |
min
min(arg1)
Restituisce il valore minimo di una matrice di numeri interi o di un elenco di numeri interi delimitato da virgole.
In Bicep usare la funzione min .
Parametri
Parametro | Richiesto | Type | Descrizione |
---|---|---|---|
arg1 | Sì | matrice di numeri interi o elenco di numeri interi delimitato da virgole | La raccolta per ottenere il valore minimo. |
Valore restituito
un intero che rappresenta il valore minimo dalla raccolta.
Esempio
L'esempio seguente mostra come usare la funzione min con una matrice e un elenco di numeri interi:
{
"$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)]"
}
}
}
L'output dell'esempio precedente con i valori predefiniti è il seguente:
Nome | Type | Valore |
---|---|---|
arrayOutput | Int | 0 |
intOutput | Int | 0 |
mod
mod(operand1, operand2)
Restituisce la parte rimanente della divisione Integer usando i due numeri interi forniti.
La funzione mod
non è supportata in Bicep. Utilizzare invece l'operatore % .
Parametri
Parametro | Richiesto | Type | Descrizione |
---|---|---|---|
operand1 | Sì | int | Il numero da dividere. |
operand2 | Sì | int | Numero usato per dividere, non può essere 0. |
Valore restituito
Un intero che rappresenta il resto.
Esempio
L'esempio seguente restituisce il resto della divisione di un parametro per un altro parametro.
{
"$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'))]"
}
}
}
L'output dell'esempio precedente con i valori predefiniti è il seguente:
Nome | Type | Valore |
---|---|---|
modResult | Int | 1 |
mul
mul(operand1, operand2)
Restituisce la moltiplicazione dei due numeri interi forniti.
La funzione mul
non è supportata in Bicep. Usare invece l'operatore * .
Parametri
Parametro | Richiesto | Type | Descrizione |
---|---|---|---|
operand1 | Sì | int | Il primo numero da moltiplicare. |
operand2 | Sì | int | Il secondo numero da moltiplicare. |
Valore restituito
Un intero che rappresenta la moltiplicazione.
Esempio
L'esempio seguente mostra come moltiplicare un parametro per un altro parametro.
{
"$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)]"
}
}
}
L'output dell'esempio precedente con i valori predefiniti è il seguente:
Nome | Type | Valore |
---|---|---|
mulResult | Int | 45 |
sub
sub(operand1, operand2)
Restituisce la sottrazione dei due numeri interi forniti.
La funzione sub
non è supportata in Bicep. Usare invece l'operatore - .
Parametri
Parametro | Richiesto | Type | Descrizione |
---|---|---|---|
operand1 | Sì | int | Il numero da cui sottrarre. |
operand2 | Sì | int | Il numero sottratto. |
Valore restituito
Un intero che rappresenta la sottrazione.
Esempio
L'esempio seguente mostra come sottrarre un parametro da un altro parametro.
{
"$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'))]"
}
}
}
L'output dell'esempio precedente con i valori predefiniti è il seguente:
Nome | Type | Valore |
---|---|---|
subResult | Int | 4 |
Passaggi successivi
- Per una descrizione delle sezioni in un modello di ARM, vedi Comprendere la struttura e la sintassi dei modelli di ARM.
- Per eseguire l'iterazione un numero specificato di volte durante la creazione di un tipo di risorsa, vedi Iterazione delle risorse nei modelli di ARM.