Compartilhar via


Funções numéricas para modelos do ARM

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

Dica

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

adicionar

add(operand1, operand2)

Retorna a soma dos dois inteiros fornecidos.

Não há suporte para a função add no Bicep. Em vez disso, use o + operador .

Parâmetros

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

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 oito

copyIndex

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
loopName Não cadeia O nome do loop para obter a iteração.
deslocamento Não int O número a ser adicionado ao valor de iteração baseado em zero.

Observações

Essa função é sempre usada com um objeto de cópia . 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 que você especifique se está se copyIndex referindo a uma iteração de recurso ou iteração de propriedade. Se nenhum valor for fornecido para loopName, a iteração do 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 do índice incluídos 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 inteiro dos dois inteiros fornecidos.

Não há suporte para a função div 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
divResult Int 2

derivar

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.

Não há suporte para a função float no Bicep.

Parâmetros

Parâmetro Obrigatório Tipo Descrição
arg1 Yes cadeia de caracteres ou inteiro 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 o 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 cadeia de caracteres ou inteiro 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)

Retorna o valor máximo de uma matriz de inteiros ou uma lista de inteiros separados por vírgulas.

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 obtenção do 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

minutos

min(arg1)

Retorna o valor mínimo de uma matriz de inteiros ou uma lista de inteiros separados por vírgulas.

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 obtenção do 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)

Retorna o quociente da divisão de inteiros usando os dois inteiros fornecidos.

Não há suporte para a função mod 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
modResult Int 1

mul

mul(operand1, operand2)

Retorna a multiplicação dos dois inteiros fornecidos.

Não há suporte para a função mul no Bicep. Em vez disso, use o operador * .

Parâmetros

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

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
mulResult Int 45

Substituto

sub(operand1, operand2)

Retorna a subtração dos dois inteiros fornecidos.

Não há suporte para a função sub no Bicep. Use o operador – em vez disso.

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 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
subResult Int 4

Próximas etapas