Compartir a través de


Funciones numéricas para plantillas de ARM

Resource Manager proporciona las siguientes funciones para trabajar con enteros en la plantilla de Azure Resource Manager (plantilla de ARM):

Sugerencia

Se recomienda Bicep , ya que ofrece las mismas funcionalidades que las plantillas de ARM y la sintaxis es más fácil de usar. Para más información sobre el uso intde , miny max en Bicep, consulte numeric funciones. Para ver otros valores numéricos, consulte Operadores numéricos .

añadir

add(operand1, operand2)

Devuelve la suma de los dos enteros proporcionados.

La función add no es compatible con Bicep. Use el + operador en su lugar.

Parámetros

Parámetro Obligatorio Tipo Descripción
operando1 Int Primer número que se va a agregar.
operando2 Int Segundo número que se va a agregar.

Valor devuelto

Entero que contiene la suma de los parámetros.

Ejemplo

En el ejemplo siguiente se agregan dos parámetros:

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

La salida de los valores predeterminados del ejemplo anterior es:

Nombre Tipo Importancia
addResult Int 8

copyIndex

copyIndex(loopName, offset)

Devuelve el índice de un bucle de iteración.

En Bicep, use bucles iterativos.

Parámetros

Parámetro Obligatorio Tipo Descripción
loopName No cuerda / cadena Nombre del bucle para obtener la iteración.
compensar No Int Número que se va a agregar al valor de iteración de base cero.

Observaciones

Esta función siempre se usa con un objeto copy . Si no se proporciona ningún valor para el desplazamiento, se devuelve el valor de iteración actual. El valor de iteración comienza en cero.

La propiedad loopName permite especificar si copyIndex hace referencia a una iteración de recursos o a una iteración de propiedad. Si no se proporciona ningún valor para loopName, se usa la iteración del tipo de recurso actual. Proporcione un valor para loopName al iterar en una propiedad.

Para obtener más información sobre el uso de la copia, consulte:

Ejemplo

En el ejemplo siguiente se muestra un bucle de copia y el valor de índice incluido en el nombre:

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

Valor devuelto

Entero que representa el índice actual de la iteración.

div

div(operand1, operand2)

Devuelve la división de enteros de los dos enteros proporcionados.

La función div no es compatible con Bicep. Use el / operador en su lugar.

Parámetros

Parámetro Obligatorio Tipo Descripción
operando1 Int Número que se divide.
operando2 Int Número que se usa para dividir. No puede ser 0.

Valor devuelto

Entero que representa la división.

Ejemplo

En el ejemplo siguiente se divide un parámetro por otro:

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

La salida de los valores predeterminados del ejemplo anterior es:

Nombre Tipo Importancia
divResult Int 2

flotante

float(arg1)

Convierte el valor en un número de punto flotante. Esta función solo se usa al pasar parámetros personalizados a una aplicación, como una aplicación lógica.

La función float no es compatible con Bicep.

Parámetros

Parámetro Obligatorio Tipo Descripción
arg1 cadena o entero Valor que se va a convertir en un número de punto flotante.

Valor devuelto

Número de punto flotante.

Ejemplo

En el ejemplo siguiente se muestra cómo usar float para pasar parámetros a una aplicación lógica:

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

Int

int(valueToConvert)

Convierte el valor especificado en un entero.

En Bicep, use la int función .

Parámetros

Parámetro Obligatorio Tipo Descripción
valueToConvert cadena o entero Valor que se va a convertir en un entero.

Valor devuelto

Entero del valor convertido.

Ejemplo

La plantilla de ejemplo siguiente convierte el valor del parámetro proporcionado por el usuario en un entero:

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

La salida de los valores predeterminados del ejemplo anterior es:

Nombre Tipo Importancia
intResult Int 4

máximo

max(arg1)

Devuelve el valor máximo de una matriz de enteros o una lista separada por comas de enteros.

En Bicep, use la max función .

Parámetros

Parámetro Obligatorio Tipo Descripción
arg1 matriz de enteros, o lista separada por comas de enteros La colección para obtener el valor máximo.

Valor devuelto

Entero que representa el valor máximo de la colección.

Ejemplo

En el ejemplo siguiente se muestra cómo usar max con una matriz y una lista de enteros:

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

La salida de los valores predeterminados del ejemplo anterior es:

Nombre Tipo Importancia
arrayOutput Int 5
intOutput Int 5

Min

min(arg1)

Devuelve el valor mínimo de una matriz de enteros o una lista separada por comas de enteros.

En Bicep, use la min función .

Parámetros

Parámetro Obligatorio Tipo Descripción
arg1 matriz de enteros, o lista separada por comas de enteros La colección para obtener el valor mínimo.

Valor devuelto

Entero que representa el valor mínimo de la colección.

Ejemplo

En el ejemplo siguiente se muestra cómo usar min con una matriz y una lista de enteros:

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

La salida de los valores predeterminados del ejemplo anterior es:

Nombre Tipo Importancia
arrayOutput Int 0
intOutput Int 0

Módulo

mod(operand1, operand2)

Devuelve el cociente de la división de enteros utilizando los dos enteros proporcionados.

La función mod no es compatible con Bicep. Use el operador% en su lugar.

Parámetros

Parámetro Obligatorio Tipo Descripción
operando1 Int Número que se divide.
operando2 Int Número que se usa para dividir, No puede ser 0.

Valor devuelto

Entero que representa el resto.

Ejemplo

En el ejemplo siguiente se devuelve el cociente de dividir un parámetro por otro:

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

La salida de los valores predeterminados del ejemplo anterior es:

Nombre Tipo Importancia
modResult Int 1

mul

mul(operand1, operand2)

Devuelve la multiplicación de los dos enteros proporcionados.

La función mul no es compatible con Bicep. Use el operador * en su lugar.

Parámetros

Parámetro Obligatorio Tipo Descripción
operando1 Int Primer número que se va a multiplicar.
operando2 Int Segundo número que se va a multiplicar.

Valor devuelto

Entero que representa la multiplicación.

Ejemplo

En el ejemplo siguiente se multiplica un parámetro por otro:

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

La salida de los valores predeterminados del ejemplo anterior es:

Nombre Tipo Importancia
mulResult Int 45

submarino

sub(operand1, operand2)

Devuelve la resta de los dos enteros proporcionados.

La función sub no es compatible con Bicep. Use el operador - en su lugar.

Parámetros

Parámetro Obligatorio Tipo Descripción
operando1 Int Número del que se resta.
operando2 Int Número que se resta.

Valor devuelto

Entero que representa la resta.

Ejemplo

En el ejemplo siguiente se resta un parámetro de otro:

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

La salida de los valores predeterminados del ejemplo anterior es:

Nombre Tipo Importancia
subResult Int 4

Pasos siguientes