Partilhar via


Funções numéricas para modelos ARM

O Resource Manager fornece as seguintes funções para trabalhar com inteiros no seu modelo do Azure Resource Manager (modelo ARM):

Sugestão

O bíceps é recomendado, pois oferece os mesmos recursos que os modelos ARM e a sintaxe é mais fácil de usar. Para saber mais sobre como usar into , mine max no Bicep, consulte numeric funções. Para outros valores numéricos, consulte operadores numéricos .

adicionar

add(operand1, operand2)

Devolve a soma dos dois inteiros fornecidos.

A add função não é suportada no Bicep. Em vez disso, use o + operador .

Parâmetros

Parâmetro Obrigatório Tipo Descrição
operando1 Yes Int Primeiro número a adicionar.
operando2 Yes Int Segundo número a adicionar.

Valor de retorno

Um inteiro que contém a soma dos parâmetros.

Exemplo

O exemplo a seguir adiciona dois 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'))]"
    }
  }
}

A saída dos valores padrão do exemplo anterior é:

Nome Tipo Valor
addResult int 8

copyIndex [en]

copyIndex(loopName, offset)

Retorna o índice de um loop de iteração.

No Bicep, use loops iterativos.

Parâmetros

Parâmetro Obrigatório Tipo Descrição
Nome do loop Não cadeia (de caracteres) O nome do loop para obter a iteração.
Compensação Não Int O número a ser adicionado ao valor de iteração baseado em zero.

Observações

Esta função é sempre usada com um objeto copy . Se nenhum valor for fornecido para deslocamento, o valor da iteração atual será retornado. O valor da iteração começa em zero.

A propriedade loopName permite especificar se copyIndex está se referindo a uma iteração de recurso ou iteração de propriedade. Se nenhum valor for fornecido para loopName, a iteração de tipo de recurso atual será usada. Forneça um valor para loopName ao iterar em uma propriedade.

Para obter mais informações sobre como usar a cópia, consulte:

Exemplo

O exemplo a seguir mostra um loop de cópia e o valor de índice incluído no 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": "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 de retorno

Um inteiro que representa o índice atual da iteração.

div

div(operand1, operand2)

Retorna a divisão inteira dos dois inteiros fornecidos.

A div função não é suportada no Bicep. Em vez disso, use o / operador .

Parâmetros

Parâmetro Obrigatório Tipo Descrição
operando1 Yes Int O número que está sendo dividido.
operando2 Yes Int O número que é usado para dividir. Não pode ser 0.

Valor de retorno

Um inteiro que representa a divisão.

Exemplo

O exemplo a seguir divide um parâmetro por outro:

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

A saída dos valores padrão do exemplo anterior é:

Nome Tipo Valor
divResultado int 2

float

float(arg1)

Converte o valor em um número de ponto flutuante. Você só usa essa função ao passar parâmetros personalizados para um aplicativo, como um aplicativo lógico.

A float função não é suportada no Bicep.

Parâmetros

Parâmetro Obrigatório Tipo Descrição
Arg1 Yes string ou int O valor a ser convertido em um número de ponto flutuante.

Valor de retorno

Um número de ponto flutuante.

Exemplo

O exemplo a seguir mostra como usar float para passar parâmetros para um aplicativo lógico:

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

Int

int(valueToConvert)

Converte o valor especificado em um inteiro.

No Bicep, use a int função.

Parâmetros

Parâmetro Obrigatório Tipo Descrição
valueToConvert Yes string ou int O valor a ser convertido em um inteiro.

Valor de retorno

Um inteiro do valor convertido.

Exemplo

O modelo de exemplo a seguir converte o valor do parâmetro fornecido pelo usuário em um inteiro:

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

A saída dos valores padrão do exemplo anterior é:

Nome Tipo Valor
intResult int 4

máximo

max(arg1)

Devolve o valor máximo de uma matriz de inteiros ou de uma lista de inteiros separada por vírgula.

No Bicep, use a max função.

Parâmetros

Parâmetro Obrigatório Tipo Descrição
Arg1 Yes matriz de inteiros ou lista de inteiros separados por vírgulas A coleção para obter o valor máximo.

Valor de retorno

Um inteiro que representa o valor máximo da coleção.

Exemplo

O exemplo a seguir mostra como usar max com uma matriz e uma lista de inteiros:

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

A saída dos valores padrão do exemplo anterior é:

Nome Tipo Valor
arrayOutput int 5
intOutput int 5

minuto

min(arg1)

Devolve o valor mínimo de uma matriz de inteiros ou de uma lista de inteiros separada por vírgula.

No Bicep, use a min função.

Parâmetros

Parâmetro Obrigatório Tipo Descrição
Arg1 Yes matriz de inteiros ou lista de inteiros separados por vírgulas A coleção para obter o valor mínimo.

Valor de retorno

Um inteiro que representa o valor mínimo da coleção.

Exemplo

O exemplo a seguir mostra como usar min com uma matriz e uma lista de inteiros:

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

A saída dos valores padrão do exemplo anterior é:

Nome Tipo Valor
arrayOutput int 0
intOutput int 0

Modificação

mod(operand1, operand2)

Devolve o quociente da divisão inteira utilizando os dois inteiros fornecidos.

A mod função não é suportada no Bicep. Em vez disso, use o operador% .

Parâmetros

Parâmetro Obrigatório Tipo Descrição
operando1 Yes Int O número que está sendo dividido.
operando2 Yes Int O número que é usado para dividir, não pode ser 0.

Valor de retorno

Um inteiro que representa o restante.

Exemplo

O exemplo a seguir retorna o quociente de divisão de um parâmetro por outro:

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

A saída dos valores padrão do exemplo anterior é:

Nome Tipo Valor
modResultado int 1

Mul

mul(operand1, operand2)

Devolve a multiplicação dos dois inteiros fornecidos.

A mul função não é suportada no Bicep. Em vez disso, use o operador * .

Parâmetros

Parâmetro Obrigatório Tipo Descrição
operando1 Yes Int Primeiro número a multiplicar.
operando2 Yes Int Segundo número a multiplicar.

Valor de retorno

Um inteiro que representa a multiplicação.

Exemplo

O exemplo a seguir multiplica um parâmetro por outro:

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

A saída dos valores padrão do exemplo anterior é:

Nome Tipo Valor
mulResultado int 45

submarino

sub(operand1, operand2)

Devolve a subtração dos dois inteiros fornecidos.

A sub função não é suportada no Bicep. Em vez disso, use o operador - .

Parâmetros

Parâmetro Obrigatório Tipo Descrição
operando1 Yes Int O número do qual é subtraído.
operando2 Yes Int O número que é subtraído.

Valor de retorno

Um inteiro que representa a subtração.

Exemplo

O exemplo a seguir subtrai um parâmetro de outro:

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

A saída dos valores padrão do exemplo anterior é:

Nome Tipo Valor
subResultado int 4

Próximos passos