Funções de cadeia de caracteres para modelos ARM

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

Gorjeta

Recomendamos o Bicep porque ele oferece os mesmos recursos que os modelos ARM e a sintaxe é mais fácil de usar. Para saber mais, consulte Funções de cadeia de caracteres .

base64

base64(inputString)

Retorna a representação base64 da cadeia de caracteres de entrada.

No Bicep, utilize a função base64 .

Parâmetros

Parâmetro Obrigatório Type Description
inputString Sim string O valor a retornar como uma representação base64.

Valor devolvido

Uma cadeia de caracteres que contém a representação base64.

Exemplos

O exemplo a seguir mostra como usar a base64 função.

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "stringData": {
      "type": "string",
      "defaultValue": "one, two, three"
    },
    "jsonFormattedData": {
      "type": "string",
      "defaultValue": "{'one': 'a', 'two': 'b'}"
    }
  },
  "variables": {
    "base64String": "[base64(parameters('stringData'))]",
    "base64Object": "[base64(parameters('jsonFormattedData'))]"
  },
  "resources": [
  ],
  "outputs": {
    "base64Output": {
      "type": "string",
      "value": "[variables('base64String')]"
    },
    "toStringOutput": {
      "type": "string",
      "value": "[base64ToString(variables('base64String'))]"
    },
    "toJsonOutput": {
      "type": "object",
      "value": "[base64ToJson(variables('base64Object'))]"
    }
  }
}

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

Nome Tipo valor
base64Saída String b25lLCB0d28sIHRocmVl
toStringOutput String Um dois três
toJsonOutput Object {"um": "a", "dois": "b"}

base64ToJson

base64ToJson(base64Value)

Converte uma representação base64 em um objeto JSON.

No Bicep, utilize a função base64ToJson .

Parâmetros

Parâmetro Obrigatório Type Description
base64Valor Sim string A representação base64 para converter em um objeto JSON.

Valor devolvido

Um objeto JSON.

Exemplos

O exemplo a seguir usa a base64ToJson função para converter um valor base64:

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "stringData": {
      "type": "string",
      "defaultValue": "one, two, three"
    },
    "jsonFormattedData": {
      "type": "string",
      "defaultValue": "{'one': 'a', 'two': 'b'}"
    }
  },
  "variables": {
    "base64String": "[base64(parameters('stringData'))]",
    "base64Object": "[base64(parameters('jsonFormattedData'))]"
  },
  "resources": [
  ],
  "outputs": {
    "base64Output": {
      "type": "string",
      "value": "[variables('base64String')]"
    },
    "toStringOutput": {
      "type": "string",
      "value": "[base64ToString(variables('base64String'))]"
    },
    "toJsonOutput": {
      "type": "object",
      "value": "[base64ToJson(variables('base64Object'))]"
    }
  }
}

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

Nome Tipo valor
base64Saída String b25lLCB0d28sIHRocmVl
toStringOutput String Um dois três
toJsonOutput Object {"um": "a", "dois": "b"}

base64ToString

base64ToString(base64Value)

Converte uma representação base64 em uma cadeia de caracteres.

No Bicep, use a função base64ToString .

Parâmetros

Parâmetro Obrigatório Type Description
base64Valor Sim string A representação base64 para converter em uma cadeia de caracteres.

Valor devolvido

Uma cadeia de caracteres do valor base64 convertido.

Exemplos

O exemplo a seguir usa a base64ToString função para converter um valor base64:

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "stringData": {
      "type": "string",
      "defaultValue": "one, two, three"
    },
    "jsonFormattedData": {
      "type": "string",
      "defaultValue": "{'one': 'a', 'two': 'b'}"
    }
  },
  "variables": {
    "base64String": "[base64(parameters('stringData'))]",
    "base64Object": "[base64(parameters('jsonFormattedData'))]"
  },
  "resources": [
  ],
  "outputs": {
    "base64Output": {
      "type": "string",
      "value": "[variables('base64String')]"
    },
    "toStringOutput": {
      "type": "string",
      "value": "[base64ToString(variables('base64String'))]"
    },
    "toJsonOutput": {
      "type": "object",
      "value": "[base64ToJson(variables('base64Object'))]"
    }
  }
}

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

Nome Tipo valor
base64Saída String b25lLCB0d28sIHRocmVl
toStringOutput String Um dois três
toJsonOutput Object {"um": "a", "dois": "b"}

concat

concat(arg1, arg2, arg3, ...)

Combina vários valores de cadeia de caracteres e retorna a cadeia de caracteres concatenada, ou combina várias matrizes e retorna a matriz concatenada.

No Bicep, use a interpolação de cadeia de caracteres em vez da função para melhorar a concat() legibilidade. No entanto, em alguns casos, como a substituição de cadeia de caracteres em cadeias de caracteres de várias linhas, talvez seja necessário recorrer ao uso da função ou dareplace()concat()função.

Parâmetros

Parâmetro Obrigatório Type Description
Arg1 Sim cadeia de caracteres ou matriz A primeira cadeia de caracteres ou matriz para concatenação.
Mais argumentos Não cadeia de caracteres ou matriz Mais cadeias de caracteres ou matrizes em ordem sequencial para concatenação.

Esta função pode aceitar qualquer número de argumentos e pode aceitar cadeias de caracteres ou matrizes para os parâmetros. No entanto, não é possível fornecer matrizes e cadeias de caracteres para parâmetros. As cadeias de caracteres são apenas concatenadas com outras cadeias de caracteres.

Valor devolvido

Uma cadeia de caracteres ou matriz de valores concatenados.

Exemplos

O exemplo a seguir mostra como combinar dois valores de cadeia de caracteres e retornar uma cadeia de caracteres concatenada.

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "prefix": {
      "type": "string",
      "defaultValue": "prefix"
    }
  },
  "resources": [],
  "outputs": {
    "concatOutput": {
      "type": "string",
      "value": "[concat(parameters('prefix'), '-', uniqueString(resourceGroup().id))]"
    }
  }
}

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

Nome Tipo valor
concatOutput String prefixo-5yj4yjf5mbg72

O exemplo a seguir mostra como combinar duas matrizes.

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "firstArray": {
      "type": "array",
      "defaultValue": [
        "1-1",
        "1-2",
        "1-3"
      ]
    },
    "secondArray": {
      "type": "array",
      "defaultValue": [
        "2-1",
        "2-2",
        "2-3"
      ]
    }
  },
  "resources": [
  ],
  "outputs": {
    "return": {
      "type": "array",
      "value": "[concat(parameters('firstArray'), parameters('secondArray'))]"
    }
  }
}

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

Nome Tipo valor
regressar Matriz ["1-1", "1-2", "1-3", "2-1", "2-2", "2-3"]

contém

contains(container, itemToFind)

Verifica se uma matriz contém um valor, um objeto contém uma chave ou uma cadeia de caracteres contém uma substring. A comparação de cadeia de caracteres diferencia maiúsculas de minúsculas. No entanto, ao testar se um objeto contém uma chave, a comparação não diferencia maiúsculas de minúsculas.

No Bicep, utilize a função contém .

Parâmetros

Parâmetro Obrigatório Type Description
contentor Sim matriz, objeto ou cadeia de caracteres O valor que contém o valor a ser localizado.
itemToFind Sim string ou int O valor a ser encontrado.

Valor devolvido

True se o item for encontrado, caso contrário, False.

Exemplos

O exemplo a seguir mostra como usar contém com diferentes tipos:

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "stringToTest": {
      "type": "string",
      "defaultValue": "OneTwoThree"
    },
    "objectToTest": {
      "type": "object",
      "defaultValue": {
        "one": "a",
        "two": "b",
        "three": "c"
      }
    },
    "arrayToTest": {
      "type": "array",
      "defaultValue": [ "one", "two", "three" ]
    }
  },
  "resources": [
  ],
  "outputs": {
    "stringTrue": {
      "type": "bool",
      "value": "[contains(parameters('stringToTest'), 'e')]"
    },
    "stringFalse": {
      "type": "bool",
      "value": "[contains(parameters('stringToTest'), 'z')]"
    },
    "objectTrue": {
      "type": "bool",
      "value": "[contains(parameters('objectToTest'), 'one')]"
    },
    "objectFalse": {
      "type": "bool",
      "value": "[contains(parameters('objectToTest'), 'a')]"
    },
    "arrayTrue": {
      "type": "bool",
      "value": "[contains(parameters('arrayToTest'), 'three')]"
    },
    "arrayFalse": {
      "type": "bool",
      "value": "[contains(parameters('arrayToTest'), 'four')]"
    }
  }
}

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

Nome Tipo valor
stringTrue Bool True
stringFalse Bool False
objectTrue Bool True
objectFalse Bool False
arrayTrue Bool True
arrayFalse Bool False

dataUri

dataUri(stringToConvert)

Converte um valor em um URI de dados.

No Bicep, use a função dataUri .

Parâmetros

Parâmetro Obrigatório Type Description
stringToConverter Sim string O valor a ser convertido em um URI de dados.

Valor devolvido

Uma cadeia de caracteres formatada como um URI de dados.

Exemplos

O exemplo a seguir converte um valor em um URI de dados e converte um URI de dados em uma cadeia de caracteres.

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "stringToTest": {
      "type": "string",
      "defaultValue": "Hello"
    },
    "dataFormattedString": {
      "type": "string",
      "defaultValue": "data:;base64,SGVsbG8sIFdvcmxkIQ=="
    }
  },
  "resources": [],
  "outputs": {
    "dataUriOutput": {
      "value": "[dataUri(parameters('stringToTest'))]",
      "type": "string"
    },
    "toStringOutput": {
      "type": "string",
      "value": "[dataUriToString(parameters('dataFormattedString'))]"
    }
  }
}

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

Nome Tipo valor
dataUriOutput String dados:texto/simples; Charset=UTF8; base64,SGVsbG8=
toStringOutput String Hello, World!

dataUriToString

dataUriToString(dataUriToConvert)

Converte um valor formatado de URI de dados em uma cadeia de caracteres.

No Bicep, use a função dataUriToString .

Parâmetros

Parâmetro Obrigatório Type Description
dataUriToConvert Sim string O valor de URI de dados a ser convertido.

Valor devolvido

Uma cadeia de caracteres que contém o valor convertido.

Exemplos

O modelo de exemplo a seguir converte um valor em um URI de dados e converte um URI de dados em uma cadeia de caracteres.

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "stringToTest": {
      "type": "string",
      "defaultValue": "Hello"
    },
    "dataFormattedString": {
      "type": "string",
      "defaultValue": "data:;base64,SGVsbG8sIFdvcmxkIQ=="
    }
  },
  "resources": [],
  "outputs": {
    "dataUriOutput": {
      "value": "[dataUri(parameters('stringToTest'))]",
      "type": "string"
    },
    "toStringOutput": {
      "type": "string",
      "value": "[dataUriToString(parameters('dataFormattedString'))]"
    }
  }
}

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

Nome Tipo valor
dataUriOutput String dados:texto/simples; Charset=UTF8; base64,SGVsbG8=
toStringOutput String Hello, World!

empty

empty(itemToTest)

Determina se uma matriz, objeto ou cadeia de caracteres está vazia.

No Bicep, use a função vazia .

Parâmetros

Parâmetro Obrigatório Type Description
itemToTest Sim matriz, objeto ou cadeia de caracteres O valor para verificar se está vazio.

Valor devolvido

Retorna True se o valor estiver vazio, caso contrário, False.

Exemplos

O exemplo a seguir verifica se uma matriz, objeto e cadeia de caracteres estão vazios.

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "testArray": {
      "type": "array",
      "defaultValue": []
    },
    "testObject": {
      "type": "object",
      "defaultValue": {}
    },
    "testString": {
      "type": "string",
      "defaultValue": ""
    }
  },
  "resources": [
  ],
  "outputs": {
    "arrayEmpty": {
      "type": "bool",
      "value": "[empty(parameters('testArray'))]"
    },
    "objectEmpty": {
      "type": "bool",
      "value": "[empty(parameters('testObject'))]"
    },
    "stringEmpty": {
      "type": "bool",
      "value": "[empty(parameters('testString'))]"
    }
  }
}

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

Nome Tipo valor
arrayVazio Bool True
objectEmpty Bool True
stringEmpty Bool True

termina com

endsWith(stringToSearch, stringToFind)

Determina se uma cadeia de caracteres termina com um valor. A comparação não diferencia maiúsculas de minúsculas.

No Bicep, use a função endsWith .

Parâmetros

Parâmetro Obrigatório Type Description
stringToSearch Sim string O valor que contém o item a ser localizado.
stringToFind Sim string O valor a ser encontrado.

Valor devolvido

True se o último caractere ou caracteres da string corresponderem ao valor, caso contrário, False.

Exemplos

O exemplo a seguir mostra como usar as startsWith funções e endsWith :

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "resources": [],
  "outputs": {
    "startsTrue": {
      "type": "bool",
      "value": "[startsWith('abcdef', 'ab')]"
    },
    "startsCapTrue": {
      "type": "bool",
      "value": "[startsWith('abcdef', 'A')]"
    },
    "startsFalse": {
      "type": "bool",
      "value": "[startsWith('abcdef', 'e')]"
    },
    "endsTrue": {
      "type": "bool",
      "value": "[endsWith('abcdef', 'ef')]"
    },
    "endsCapTrue": {
      "type": "bool",
      "value": "[endsWith('abcdef', 'F')]"
    },
    "endsFalse": {
      "type": "bool",
      "value": "[endsWith('abcdef', 'e')]"
    }
  }
}

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

Nome Tipo valor
startsTrue Bool True
começaCapTrue Bool True
startsFalse Bool False
FimVerdadeiro Bool True
terminasCapTrue Bool True
terminasFalso Bool False

Primeiro

first(arg1)

Retorna o primeiro caractere da cadeia de caracteres ou o primeiro elemento da matriz. Se uma string vazia for fornecida, a função resultará em uma string vazia. No caso de uma matriz vazia, a função retorna null.

No Bicep, use a primeira função.

Parâmetros

Parâmetro Obrigatório Type Description
Arg1 Sim matriz ou cadeia de caracteres O valor para recuperar o primeiro elemento ou caractere.

Valor devolvido

Uma cadeia de caracteres do primeiro caractere ou o tipo (string, int, array ou object) do primeiro elemento de uma matriz.

Exemplos

O exemplo a seguir mostra como usar a primeira função com uma matriz e uma cadeia de caracteres.

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "arrayToTest": {
      "type": "array",
      "defaultValue": [ "one", "two", "three" ]
    }
  },
  "resources": [
  ],
  "outputs": {
    "arrayOutput": {
      "type": "string",
      "value": "[first(parameters('arrayToTest'))]"
    },
    "stringOutput": {
      "type": "string",
      "value": "[first('One Two Three')]"
    }
  }
}

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

Nome Tipo valor
arrayOutput String um
stringOutput String O

format

format(formatString, arg1, arg2, ...)

Cria uma cadeia de caracteres formatada a partir de valores de entrada.

No Bicep, use a função formatar .

Parâmetros

Parâmetro Obrigatório Type Description
formatString Sim string A cadeia de caracteres de formato composto.
Arg1 Sim string, inteiro ou booleano O valor a ser incluído na cadeia de caracteres formatada.
Mais argumentos Não string, inteiro ou booleano Mais valores para incluir na cadeia de caracteres formatada.

Observações

Use essa função para formatar uma cadeia de caracteres em seu modelo. Ele usa as mesmas opções de formatação que o método System.String.Format no .NET.

Exemplos

O exemplo a seguir mostra como usar a função format.

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "greeting": {
      "type": "string",
      "defaultValue": "Hello"
    },
    "name": {
      "type": "string",
      "defaultValue": "User"
    },
    "numberToFormat": {
      "type": "int",
      "defaultValue": 8175133
    }
  },
  "resources": [
  ],
  "outputs": {
    "formatTest": {
      "type": "string",
      "value": "[format('{0}, {1}. Formatted number: {2:N0}', parameters('greeting'), parameters('name'), parameters('numberToFormat'))]"
    }
  }
}

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

Nome Tipo valor
formatTest [en] String Olá, Usuário. Número formatado: 8.175.133

guid

guid(baseString, ...)

Cria um valor no formato de um identificador global exclusivo com base nos valores fornecidos como parâmetros.

No Bicep, use a função guid .

Parâmetros

Parâmetro Obrigatório Type Description
baseString Sim string O valor utilizado na função hash para criar o GUID.
mais parâmetros conforme necessário Não string Você pode adicionar quantas cadeias de caracteres forem necessárias para criar o valor que especifica o nível de exclusividade.

Observações

Essa função é útil quando você precisa criar um valor no formato de um identificador global exclusivo. Você fornece valores de parâmetro que limitam o escopo de exclusividade para o resultado. Você pode especificar se o nome é exclusivo para assinatura, grupo de recursos ou implantação.

O valor devolvido não é uma cadeia aleatória, mas sim o resultado de uma função hash nos parâmetros. O valor retornado tem 36 caracteres. Não é globalmente único. Para criar um novo GUID não baseado nesse valor hash dos parâmetros, utilize a função newGuid.

Os exemplos a seguir mostram como usar guid para criar um valor exclusivo para níveis comumente usados.

Escopo exclusivo para assinatura

"[guid(subscription().subscriptionId)]"

Escopo exclusivo para grupo de recursos

"[guid(resourceGroup().id)]"

Escopo exclusivo para implantação para um grupo de recursos

"[guid(resourceGroup().id, deployment().name)]"

A guid função implementa o algoritmo do RFC 4122 §4.3. A fonte original pode ser encontrada em GuidUtility com algumas modificações.

Valor devolvido

Uma cadeia de caracteres que contém 36 caracteres no formato de um identificador global exclusivo.

Exemplos

O exemplo a seguir retorna resultados de guid:

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {},
  "variables": {},
  "resources": [],
  "outputs": {
    "guidPerSubscription": {
      "type": "string",
      "value": "[guid(subscription().subscriptionId)]"
    },
    "guidPerResourceGroup": {
      "type": "string",
      "value": "[guid(resourceGroup().id)]"
    },
    "guidPerDeployment": {
      "type": "string",
      "value": "[guid(resourceGroup().id, deployment().name)]"
    }
  }
}

indexOf

indexOf(stringToSearch, stringToFind)

Retorna a primeira posição de um valor dentro de uma cadeia de caracteres. A comparação não diferencia maiúsculas de minúsculas.

No Bicep, use a função indexOf .

Parâmetros

Parâmetro Obrigatório Type Description
stringToSearch Sim string O valor que contém o item a ser localizado.
stringToFind Sim string O valor a ser encontrado.

Valor devolvido

Um inteiro que representa a posição do item a ser localizado. O valor é baseado em zero. Se o item não for encontrado, -1 será devolvido.

Exemplos

O exemplo a seguir mostra como usar as indexOf funções e lastIndexOf :

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "resources": [],
  "outputs": {
    "firstT": {
      "type": "int",
      "value": "[indexOf('test', 't')]"
    },
    "lastT": {
      "type": "int",
      "value": "[lastIndexOf('test', 't')]"
    },
    "firstString": {
      "type": "int",
      "value": "[indexOf('abcdef', 'CD')]"
    },
    "lastString": {
      "type": "int",
      "value": "[lastIndexOf('abcdef', 'AB')]"
    },
    "notFound": {
      "type": "int",
      "value": "[indexOf('abcdef', 'z')]"
    }
  }
}

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

Nome Tipo valor
primeiroT Int 0
Última T Int 3
firstString Int 2
lastString Int 0
notFound Int -1

join

join(inputArray, delimiter)

Junta uma matriz de cadeia de caracteres em uma única cadeia de caracteres, separada usando um delimitador.

No Bicep, use a função de junção .

Parâmetros

Parâmetro Obrigatório Type Description
inputArray Sim matriz da cadeia Uma matriz de cadeia de caracteres para ingressar.
delimitador Sim O delimitador a ser usado para dividir a cadeia de caracteres.

Valor devolvido

Uma cadeia de caracteres.

Exemplos

O exemplo a seguir une a matriz de cadeia de caracteres de entrada em cadeias de caracteres delimitadas usando delimitadores diferentes.

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "variables": {
    "arrayString": [
      "one",
      "two",
      "three"
    ]
  },
  "resources": [],
  "outputs": {
    "firstOutput": {
      "type": "string",
      "value": "[join(variables('arrayString'), ',')]"
    },
    "secondOutput": {
      "type": "string",
      "value": "[join(variables('arrayString'), ';')]"
    }
  }
}

A saída do exemplo anterior é:

Nome Tipo valor
firstOutput String "um, dois, três"
segundoSaída String "um; Dois; três"

json

json(arg1)

Converte uma cadeia de caracteres JSON válida em um tipo de dados JSON. Para obter mais informações, consulte função json.

No Bicep, use a função json .

Último

last(arg1)

Retorna o último caractere da cadeia de caracteres ou o último elemento da matriz.

No Bicep, use a última função.

Parâmetros

Parâmetro Obrigatório Type Description
Arg1 Sim matriz ou cadeia de caracteres O valor para recuperar o último elemento ou caractere.

Valor devolvido

Uma cadeia de caracteres do último caractere ou o tipo (string, int, array ou objeto) do último elemento em uma matriz.

Exemplos

O exemplo a seguir mostra como usar a last função com uma matriz e uma cadeia de caracteres.

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "arrayToTest": {
      "type": "array",
      "defaultValue": [ "one", "two", "three" ]
    }
  },
  "resources": [
  ],
  "outputs": {
    "arrayOutput": {
      "type": "string",
      "value": "[last(parameters('arrayToTest'))]"
    },
    "stringOutput": {
      "type": "string",
      "value": "[last('One Two Three')]"
    }
  }
}

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

Nome Tipo valor
arrayOutput String três
stringOutput String e

lastIndexOf

lastIndexOf(stringToSearch, stringToFind)

Retorna a última posição de um valor dentro de uma cadeia de caracteres. A comparação não diferencia maiúsculas de minúsculas.

No Bicep, use a função lastIndexOf .

Parâmetros

Parâmetro Obrigatório Type Description
stringToSearch Sim string O valor que contém o item a ser localizado.
stringToFind Sim string O valor a ser encontrado.

Valor devolvido

Um inteiro que representa a última posição do item a ser encontrado. O valor é baseado em zero. Se o item não for encontrado, -1 será devolvido.

Exemplos

O exemplo a seguir mostra como usar as indexOf funções e lastIndexOf :

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "resources": [],
  "outputs": {
    "firstT": {
      "type": "int",
      "value": "[indexOf('test', 't')]"
    },
    "lastT": {
      "type": "int",
      "value": "[lastIndexOf('test', 't')]"
    },
    "firstString": {
      "type": "int",
      "value": "[indexOf('abcdef', 'CD')]"
    },
    "lastString": {
      "type": "int",
      "value": "[lastIndexOf('abcdef', 'AB')]"
    },
    "notFound": {
      "type": "int",
      "value": "[indexOf('abcdef', 'z')]"
    }
  }
}

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

Nome Tipo valor
primeiroT Int 0
Última T Int 3
firstString Int 2
lastString Int 0
notFound Int -1

length

length(string)

Retorna o número de caracteres em uma cadeia de caracteres, elementos em uma matriz ou propriedades de nível raiz em um objeto.

No Bicep, use a função de comprimento .

Parâmetros

Parâmetro Obrigatório Type Description
Arg1 Sim matriz, cadeia de caracteres ou objeto A matriz a ser usada para obter o número de elementos, a cadeia de caracteres a ser usada para obter o número de caracteres ou o objeto a ser usado para obter o número de propriedades de nível raiz.

Valor devolvido

Um int.

Exemplos

O exemplo a seguir mostra como usar a length função com uma matriz e uma cadeia de caracteres:

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "arrayToTest": {
      "type": "array",
      "defaultValue": [
        "one",
        "two",
        "three"
      ]
    },
    "stringToTest": {
      "type": "string",
      "defaultValue": "One Two Three"
    },
    "objectToTest": {
      "type": "object",
      "defaultValue": {
        "propA": "one",
        "propB": "two",
        "propC": "three",
        "propD": {
          "propD-1": "sub",
          "propD-2": "sub"
        }
      }
    }
  },
  "resources": [],
  "outputs": {
    "arrayLength": {
      "type": "int",
      "value": "[length(parameters('arrayToTest'))]"
    },
    "stringLength": {
      "type": "int",
      "value": "[length(parameters('stringToTest'))]"
    },
    "objectLength": {
      "type": "int",
      "value": "[length(parameters('objectToTest'))]"
    }
  }
}

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

Nome Tipo valor
arrayLength Int 3
stringLength Int 13
objectLength Int 4

newGuid

newGuid()

Retorna um valor no formato de um identificador global exclusivo. Esta função só pode ser usada no valor padrão para um parâmetro.

No Bicep, use a função newGuid .

Observações

Você só pode usar essa função dentro de uma expressão para o valor padrão de um parâmetro. Usar essa função em qualquer outro lugar em um modelo retorna um erro. A função não é permitida em outras partes do modelo porque retorna um valor diferente cada vez que é chamada. Implantar o mesmo modelo com os mesmos parâmetros não produziria os mesmos resultados de forma confiável.

A função newGuid difere da função guid porque não usa nenhum parâmetro. Quando você chama guid com o mesmo parâmetro, ele retorna o mesmo identificador cada vez. Use guid quando precisar gerar de forma confiável o mesmo GUID para um ambiente específico. Use newGuid quando precisar de um identificador diferente a cada vez, como implantar recursos em um ambiente de teste.

A função newGuid usa a estrutura Guid no .NET Framework para gerar o identificador global exclusivo.

Se você usar a opção para reimplantar uma implantação anterior bem-sucedida e a implantação anterior incluir um parâmetro que usa newGuid, o parâmetro não será reavaliado. Em vez disso, o valor do parâmetro da implantação anterior é reutilizado automaticamente na implantação de reversão.

Em um ambiente de teste, talvez seja necessário implantar repetidamente recursos que vivem apenas por um curto período de tempo. Em vez de construir nomes exclusivos, você pode usar newGuid com uniqueString para criar nomes exclusivos.

Tenha cuidado ao reimplantar um modelo que depende da função newGuid para um valor padrão. Quando você reimplanta e não fornece um valor para o parâmetro, a função é reavaliada. Se você quiser atualizar um recurso existente em vez de criar um novo, passe o valor do parâmetro da implantação anterior.

Valor devolvido

Uma cadeia de caracteres que contém 36 caracteres no formato de um identificador global exclusivo.

Exemplos

O exemplo a seguir mostra um parâmetro com um novo identificador.

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "guidValue": {
      "type": "string",
      "defaultValue": "[newGuid()]"
    }
  },
  "resources": [
  ],
  "outputs": {
    "guidOutput": {
      "type": "string",
      "value": "[parameters('guidValue')]"
    }
  }
}

A saída do exemplo anterior varia para cada implantação, mas será semelhante a:

Nome Tipo valor
guidOutput string b76a51fc-bd72-4a77-b9a2-3c29e7d2e551

O exemplo a seguir usa a newGuid função para criar um nome exclusivo para uma conta de armazenamento. Esse modelo pode funcionar para um ambiente de teste em que a conta de armazenamento existe por um curto período de tempo e não é reimplantada.

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "guidValue": {
      "type": "string",
      "defaultValue": "[newGuid()]"
    }
  },
  "variables": {
    "storageName": "[concat('storage', uniqueString(parameters('guidValue')))]"
  },
  "resources": [
    {
      "type": "Microsoft.Storage/storageAccounts",
      "apiVersion": "2021-04-01",
      "name": "[variables('storageName')]",
      "location": "West US",
      "sku": {
        "name": "Standard_LRS"
      },
      "kind": "StorageV2",
      "properties": {}
    }
  ],
  "outputs": {
    "nameOutput": {
      "type": "string",
      "value": "[variables('storageName')]"
    }
  }
}

A saída do exemplo anterior varia para cada implantação, mas será semelhante a:

Nome Tipo valor
nameOutput string storagenziwvyru7uxie

padLeft [en]

padLeft(valueToPad, totalLength, paddingCharacter)

Retorna uma cadeia de caracteres alinhada à direita adicionando caracteres à esquerda até atingir o comprimento total especificado.

No Bicep, use a função padLeft .

Parâmetros

Parâmetro Obrigatório Type Description
valorToPad Sim string ou int O valor a ser alinhado à direita.
totalLength Sim número inteiro O número total de caracteres na cadeia de caracteres retornada.
preenchimentoCharacter Não Caractere único O caractere a ser usado para preenchimento à esquerda até que o comprimento total seja atingido. O valor padrão é um espaço.

Se a cadeia de caracteres original for maior do que o número de caracteres a serem preenchidos, nenhum caractere será adicionado.

Valor devolvido

Uma cadeia de caracteres com pelo menos o número de caracteres especificados.

Exemplos

O exemplo a seguir mostra como preencher o valor do parâmetro fornecido pelo usuário adicionando o caractere zero até atingir o número total de caracteres.

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "testString": {
      "type": "string",
      "defaultValue": "123"
    }
  },
  "resources": [],
  "outputs": {
    "stringOutput": {
      "type": "string",
      "value": "[padLeft(parameters('testString'),10,'0')]"
    }
  }
}

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

Nome Tipo valor
stringOutput String 0000000123

replace

replace(originalString, oldString, newString)

Retorna uma nova cadeia de caracteres com todas as instâncias de uma cadeia de caracteres substituídas por outra cadeia de caracteres.

No Bicep, use a função de substituição .

Parâmetros

Parâmetro Obrigatório Type Description
originalString Sim string O valor que tem todas as instâncias de uma cadeia de caracteres substituídas por outra cadeia de caracteres.
oldString Sim string A cadeia de caracteres a ser removida da cadeia de caracteres original.
newString Sim string A cadeia de caracteres a ser adicionada no lugar da cadeia de caracteres removida.

Valor devolvido

Uma cadeia de caracteres com os caracteres substituídos.

Exemplos

O exemplo a seguir mostra como remover todos os traços da cadeia de caracteres fornecida pelo usuário e como substituir parte da cadeia de caracteres por outra cadeia de caracteres.

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "testString": {
      "type": "string",
      "defaultValue": "123-123-1234"
    }
  },
  "resources": [],
  "outputs": {
    "firstOutput": {
      "type": "string",
      "value": "[replace(parameters('testString'),'-', '')]"
    },
    "secondOutput": {
      "type": "string",
      "value": "[replace(parameters('testString'),'1234', 'xxxx')]"
    }
  }
}

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

Nome Tipo valor
firstOutput String 1231231234
segundoSaída String 123-123-xxxx

skip

skip(originalValue, numberToSkip)

Retorna uma cadeia de caracteres com todos os caracteres após o número especificado de caracteres ou uma matriz com todos os elementos após o número especificado de elementos.

No Bíceps, use a função skip .

Parâmetros

Parâmetro Obrigatório Type Description
originalValor Sim matriz ou cadeia de caracteres A matriz ou cadeia de caracteres a ser usada para ignorar.
númeroToSkip Sim número inteiro O número de elementos ou caracteres a ignorar. Se esse valor for 0 ou menos, todos os elementos ou caracteres no valor serão retornados. Se for maior do que o comprimento da matriz ou cadeia de caracteres, uma matriz ou cadeia de caracteres vazia será retornada.

Valor devolvido

Uma matriz ou cadeia de caracteres.

Exemplos

O exemplo a seguir ignora o número especificado de elementos na matriz e o número especificado de caracteres em uma cadeia de caracteres.

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "testArray": {
      "type": "array",
      "defaultValue": [
        "one",
        "two",
        "three"
      ]
    },
    "elementsToSkip": {
      "type": "int",
      "defaultValue": 2
    },
    "testString": {
      "type": "string",
      "defaultValue": "one two three"
    },
    "charactersToSkip": {
      "type": "int",
      "defaultValue": 4
    }
  },
  "resources": [],
  "outputs": {
    "arrayOutput": {
      "type": "array",
      "value": "[skip(parameters('testArray'),parameters('elementsToSkip'))]"
    },
    "stringOutput": {
      "type": "string",
      "value": "[skip(parameters('testString'),parameters('charactersToSkip'))]"
    }
  }
}

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

Nome Tipo valor
arrayOutput Matriz ["três"]
stringOutput String dois três

split

split(inputString, delimiter)

Retorna uma matriz de cadeias de caracteres que contém as substrings da cadeia de caracteres de entrada que são delimitadas pelos delimitadores especificados.

No Bicep, use a função de divisão .

Parâmetros

Parâmetro Obrigatório Type Description
inputString Sim string A cadeia de caracteres a ser dividida.
delimitador Sim string ou matriz de strings O delimitador a ser usado para dividir a cadeia de caracteres.

Valor devolvido

Uma matriz de cadeias de caracteres.

Exemplos

O exemplo a seguir divide a cadeia de caracteres de entrada com uma vírgula e com uma vírgula ou ponto-e-vírgula.

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "firstString": {
      "type": "string",
      "defaultValue": "one,two,three"
    },
    "secondString": {
      "type": "string",
      "defaultValue": "one;two,three"
    }
  },
  "variables": {
    "delimiters": [ ",", ";" ]
  },
  "resources": [],
  "outputs": {
    "firstOutput": {
      "type": "array",
      "value": "[split(parameters('firstString'),',')]"
    },
    "secondOutput": {
      "type": "array",
      "value": "[split(parameters('secondString'),variables('delimiters'))]"
    }
  }
}

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

Nome Tipo valor
firstOutput Matriz ["um", "dois", "três"]
segundoSaída Matriz ["um", "dois", "três"]

começaCom

startsWith(stringToSearch, stringToFind)

Determina se uma cadeia de caracteres começa com um valor. A comparação não diferencia maiúsculas de minúsculas.

No Bicep, use a função startsWith .

Parâmetros

Parâmetro Obrigatório Type Description
stringToSearch Sim string O valor que contém o item a ser localizado.
stringToFind Sim string O valor a ser encontrado.

Valor devolvido

True se o primeiro caractere ou caracteres da string corresponderem ao valor, caso contrário, False.

Exemplos

O exemplo a seguir mostra como usar as startsWith funções e endsWith :

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "resources": [],
  "outputs": {
    "startsTrue": {
      "type": "bool",
      "value": "[startsWith('abcdef', 'ab')]"
    },
    "startsCapTrue": {
      "type": "bool",
      "value": "[startsWith('abcdef', 'A')]"
    },
    "startsFalse": {
      "type": "bool",
      "value": "[startsWith('abcdef', 'e')]"
    },
    "endsTrue": {
      "type": "bool",
      "value": "[endsWith('abcdef', 'ef')]"
    },
    "endsCapTrue": {
      "type": "bool",
      "value": "[endsWith('abcdef', 'F')]"
    },
    "endsFalse": {
      "type": "bool",
      "value": "[endsWith('abcdef', 'e')]"
    }
  }
}

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

Nome Tipo valor
startsTrue Bool True
começaCapTrue Bool True
startsFalse Bool False
FimVerdadeiro Bool True
terminasCapTrue Bool True
terminasFalso Bool False

string

string(valueToConvert)

Converte o valor especificado em uma cadeia de caracteres.

No Bicep, use a função string .

Parâmetros

Parâmetro Obrigatório Type Description
valueToConvert Sim Qualquer O valor a ser convertido em string. Qualquer tipo de valor pode ser convertido, incluindo objetos e matrizes.

Valor devolvido

Uma cadeia de caracteres do valor convertido.

Exemplos

O exemplo a seguir mostra como converter diferentes tipos de valores em cadeias de caracteres.

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "testObject": {
      "type": "object",
      "defaultValue": {
        "valueA": 10,
        "valueB": "Example Text"
      }
    },
    "testArray": {
      "type": "array",
      "defaultValue": [
        "a",
        "b",
        "c"
      ]
    },
    "testInt": {
      "type": "int",
      "defaultValue": 5
    }
  },
  "resources": [],
  "outputs": {
    "objectOutput": {
      "type": "string",
      "value": "[string(parameters('testObject'))]"
    },
    "arrayOutput": {
      "type": "string",
      "value": "[string(parameters('testArray'))]"
    },
    "intOutput": {
      "type": "string",
      "value": "[string(parameters('testInt'))]"
    }
  }
}

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

Nome Tipo valor
objectOutput String {"valueA":10,"valueB":"Texto de exemplo"}
arrayOutput String ["a","b","c"]
intOutput String 5

substring

substring(stringToParse, startIndex, length)

Retorna uma substring que começa na posição de caractere especificada e contém o número especificado de caracteres.

No Bicep, use a função substring .

Parâmetros

Parâmetro Obrigatório Type Description
stringToParse Sim string A cadeia de caracteres original da qual a substring é extraída.
startIndex Não número inteiro A posição do caractere inicial baseado em zero para a substring.
length Não número inteiro O número de caracteres para a substring. Deve referir-se a um local dentro da cadeia de caracteres. Deve ser zero ou maior. Se omitido, o restante da cadeia de caracteres da posição inicial será retornado.

Valor devolvido

A substring. Ou, uma cadeia de caracteres vazia se o comprimento for zero.

Observações

A função falha quando a substring se estende além do final da cadeia de caracteres ou quando o comprimento é menor que zero. O exemplo a seguir falha com o erro "Os parâmetros de índice e comprimento devem se referir a um local dentro da cadeia de caracteres. O parâmetro index: '0', o parâmetro length: '11', o comprimento do parâmetro string: '10'.".

"parameters": {
  "inputString": {
    "type": "string",
    "value": "1234567890"
  }
}, "variables": {
  "prefix": "[substring(parameters('inputString'), 0, 11)]"
}

Exemplos

O exemplo a seguir extrai uma substring de um parâmetro.

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "testString": {
      "type": "string",
      "defaultValue": "one two three"
    }
  },
  "resources": [],
  "outputs": {
    "substringOutput": {
      "type": "string",
      "value": "[substring(parameters('testString'), 4, 3)]"
    }
  }
}

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

Nome Tipo valor
substringOutput String dois

take

take(originalValue, numberToTake)

Retorna uma matriz ou cadeia de caracteres. Uma matriz tem o número especificado de elementos desde o início da matriz. Uma cadeia de caracteres tem o número especificado de caracteres desde o início da cadeia de caracteres.

No Bicep, use a função take .

Parâmetros

Parâmetro Obrigatório Type Description
originalValor Sim matriz ou cadeia de caracteres A matriz ou cadeia de caracteres da qual retirar os elementos.
númeroToTake Sim número inteiro O número de elementos ou caracteres a serem levados. Se esse valor for 0 ou menos, uma matriz ou cadeia de caracteres vazia será retornada. Se for maior do que o comprimento de uma determinada matriz ou cadeia de caracteres, todos os elementos na matriz ou cadeia de caracteres serão retornados.

Valor devolvido

Uma matriz ou cadeia de caracteres.

Exemplos

O exemplo a seguir usa o número especificado de elementos da matriz e caracteres de uma cadeia de caracteres.

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "testArray": {
      "type": "array",
      "defaultValue": [
        "one",
        "two",
        "three"
      ]
    },
    "elementsToTake": {
      "type": "int",
      "defaultValue": 2
    },
    "testString": {
      "type": "string",
      "defaultValue": "one two three"
    },
    "charactersToTake": {
      "type": "int",
      "defaultValue": 2
    }
  },
  "resources": [],
  "outputs": {
    "arrayOutput": {
      "type": "array",
      "value": "[take(parameters('testArray'),parameters('elementsToTake'))]"
    },
    "stringOutput": {
      "type": "string",
      "value": "[take(parameters('testString'),parameters('charactersToTake'))]"
    }
  }
}

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

Nome Tipo valor
arrayOutput Matriz ["um", "dois"]
stringOutput String em

paraMais baixo

toLower(stringToChange)

Converte a cadeia de caracteres especificada em minúsculas.

No Bicep, use a função toLower .

Parâmetros

Parâmetro Obrigatório Type Description
stringToChange Sim string O valor a converter em minúsculas.

Valor devolvido

A cadeia de caracteres convertida em minúsculas.

Exemplos

O exemplo a seguir converte um valor de parâmetro em minúsculas e maiúsculas.

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "testString": {
      "type": "string",
      "defaultValue": "One Two Three"
    }
  },
  "resources": [],
  "outputs": {
    "toLowerOutput": {
      "type": "string",
      "value": "[toLower(parameters('testString'))]"
    },
    "toUpperOutput": {
      "type": "string",
      "value": "[toUpper(parameters('testString'))]"
    }
  }
}

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

Nome Tipo valor
paraLowerOutput String Um dois três
toUpperOutput String UM DOIS TRÊS

toUpper

toUpper(stringToChange)

Converte a cadeia de caracteres especificada em maiúsculas.

No Bicep, utilize a função toUpper .

Parâmetros

Parâmetro Obrigatório Type Description
stringToChange Sim string O valor a converter em maiúsculas.

Valor devolvido

A cadeia de caracteres convertida em maiúsculas.

Exemplos

O exemplo a seguir converte um valor de parâmetro em minúsculas e maiúsculas.

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "testString": {
      "type": "string",
      "defaultValue": "One Two Three"
    }
  },
  "resources": [],
  "outputs": {
    "toLowerOutput": {
      "type": "string",
      "value": "[toLower(parameters('testString'))]"
    },
    "toUpperOutput": {
      "type": "string",
      "value": "[toUpper(parameters('testString'))]"
    }
  }
}

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

Nome Tipo valor
paraLowerOutput String Um dois três
toUpperOutput String UM DOIS TRÊS

guarnição

trim(stringToTrim)

Remove todos os caracteres de espaço em branco à esquerda e à direita da cadeia de caracteres especificada.

No Bicep, use a função trim .

Parâmetros

Parâmetro Obrigatório Type Description
stringToTrim Sim string O valor a ser cortado.

Valor devolvido

A cadeia de caracteres sem caracteres de espaço em branco à esquerda e à direita.

Exemplos

O exemplo a seguir corta os caracteres de espaço em branco do parâmetro.

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "testString": {
      "type": "string",
      "defaultValue": "    one two three   "
    }
  },
  "resources": [],
  "outputs": {
    "return": {
      "type": "string",
      "value": "[trim(parameters('testString'))]"
    }
  }
}

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

Nome Tipo valor
regressar String Um dois três

uniqueString

uniqueString(baseString, ...)

Cria uma cadeia hash determinista, com base nos valores proporcionados como parâmetros.

No Bicep, use a função uniqueString .

Parâmetros

Parâmetro Obrigatório Type Description
baseString Sim string O valor utilizado na função hash para criar uma cadeia exclusiva.
mais parâmetros conforme necessário Não string Você pode adicionar quantas cadeias de caracteres forem necessárias para criar o valor que especifica o nível de exclusividade.

Observações

Essa função é útil quando você precisa criar um nome exclusivo para um recurso. Você fornece valores de parâmetro que limitam o escopo de exclusividade para o resultado. Você pode especificar se o nome é exclusivo para assinatura, grupo de recursos ou implantação.

O valor devolvido não é uma cadeia aleatória, mas sim o resultado de uma função hash. O valor retornado tem 13 caracteres. Não é globalmente único. Você pode combinar o valor com um prefixo da convenção de nomenclatura para criar um nome que seja significativo. O exemplo a seguir mostra o formato do valor retornado. O valor real varia de acordo com os parâmetros fornecidos.

tcvhiyu5h2o5o

Os exemplos a seguir mostram como usar uniqueString para criar um valor exclusivo para níveis comumente usados.

Escopo exclusivo para assinatura

"[uniqueString(subscription().subscriptionId)]"

Escopo exclusivo para grupo de recursos

"[uniqueString(resourceGroup().id)]"

Escopo exclusivo para implantação para um grupo de recursos

"[uniqueString(resourceGroup().id, deployment().name)]"

O exemplo a seguir mostra como criar um nome exclusivo para uma conta de armazenamento com base no seu grupo de recursos. Dentro do grupo de recursos, o nome não é exclusivo se construído da mesma maneira.

"resources": [{
  "name": "[concat('storage', uniqueString(resourceGroup().id))]",
  "type": "Microsoft.Storage/storageAccounts",
  ...

Se você precisar criar um novo nome exclusivo cada vez que implantar um modelo e não pretender atualizar o recurso, poderá usar a função utcNow com uniqueString. Você pode usar essa abordagem em um ambiente de teste. Para um exemplo, veja utcNow.

Valor devolvido

Uma cadeia de caracteres contendo 13 caracteres.

Exemplos

O exemplo a seguir retorna resultados de uniquestring:

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "resources": [],
  "outputs": {
    "uniqueRG": {
      "type": "string",
      "value": "[uniqueString(resourceGroup().id)]"
    },
    "uniqueDeploy": {
      "type": "string",
      "value": "[uniqueString(resourceGroup().id, deployment().name)]"
    }
  }
}

uri

uri(baseUri, relativeUri)

Cria um URI absoluto combinando o baseUri e a cadeia de caracteres relativeUri.

No Bicep, use a função uri .

Parâmetros

Parâmetro Obrigatório Type Description
baseUri Sim string A cadeia de caracteres uri base. Tome cuidado para observar o comportamento sobre o manuseio da barra à direita (/), conforme descrito nesta tabela.
parenteUri Sim string A cadeia de caracteres de uri relativa a ser adicionada à cadeia de caracteres de uri de base.
  • Se baseUri termina em uma barra à direita, o resultado é baseUri seguido por relativeUri.

  • Se o baseUri não terminar em uma barra à direita, uma das duas coisas acontece.

    • Se baseUri não tem barras (exceto a // próxima da frente), o resultado é baseUri seguido por relativeUri.

    • Se baseUri tem algumas barras, mas não termina com uma barra, tudo a partir da última barra é removido de baseUri e o resultado é baseUri seguido por relativeUri.

Seguem-se alguns exemplos:

uri('http://contoso.org/firstpath', 'myscript.sh') -> http://contoso.org/myscript.sh
uri('http://contoso.org/firstpath/', 'myscript.sh') -> http://contoso.org/firstpath/myscript.sh
uri('http://contoso.org/firstpath/azuredeploy.json', 'myscript.sh') -> http://contoso.org/firstpath/myscript.sh
uri('http://contoso.org/firstpath/azuredeploy.json/', 'myscript.sh') -> http://contoso.org/firstpath/azuredeploy.json/myscript.sh

Para obter detalhes completos, os parâmetros baseUri e relativeUri são resolvidos conforme especificado na RFC 3986, seção 5.

Valor devolvido

Uma cadeia de caracteres que representa o URI absoluto para os valores base e relativo.

Exemplos

O exemplo a seguir mostra como construir um link para um modelo aninhado com base no valor do modelo pai.

"templateLink": "[uri(deployment().properties.templateLink.uri, 'nested/azuredeploy.json')]"

O modelo de exemplo a seguir mostra como usar uri, uriComponente uriComponentToString.

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "variables": {
    "uriFormat": "[uri('http://contoso.com/resources/', 'nested/azuredeploy.json')]",
    "uriEncoded": "[uriComponent(variables('uriFormat'))]"
  },
  "resources": [
  ],
  "outputs": {
    "uriOutput": {
      "type": "string",
      "value": "[variables('uriFormat')]"
    },
    "componentOutput": {
      "type": "string",
      "value": "[variables('uriEncoded')]"
    },
    "toStringOutput": {
      "type": "string",
      "value": "[uriComponentToString(variables('uriEncoded'))]"
    }
  }
}

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

Nome Tipo valor
uriOutput String http://contoso.com/resources/nested/azuredeploy.json
componentOutput String http%3A%2F%2Fcontoso.com%2Fresources%2Fnested%2Fazuredeploy.json
toStringOutput String http://contoso.com/resources/nested/azuredeploy.json

uriComponent

uricomponent(stringToEncode)

Codifica um URI.

No Bicep, use a função uriComponent .

Parâmetros

Parâmetro Obrigatório Type Description
stringToEncode Sim string O valor a ser codificado.

Valor devolvido

Uma cadeia de caracteres do valor codificado por URI.

Exemplos

O modelo de exemplo a seguir mostra como usar uri, uriComponente uriComponentToString.

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "variables": {
    "uriFormat": "[uri('http://contoso.com/resources/', 'nested/azuredeploy.json')]",
    "uriEncoded": "[uriComponent(variables('uriFormat'))]"
  },
  "resources": [
  ],
  "outputs": {
    "uriOutput": {
      "type": "string",
      "value": "[variables('uriFormat')]"
    },
    "componentOutput": {
      "type": "string",
      "value": "[variables('uriEncoded')]"
    },
    "toStringOutput": {
      "type": "string",
      "value": "[uriComponentToString(variables('uriEncoded'))]"
    }
  }
}

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

Nome Tipo valor
uriOutput String http://contoso.com/resources/nested/azuredeploy.json
componentOutput String http%3A%2F%2Fcontoso.com%2Fresources%2Fnested%2Fazuredeploy.json
toStringOutput String http://contoso.com/resources/nested/azuredeploy.json

uriComponentToString

uriComponentToString(uriEncodedString)

Retorna uma cadeia de caracteres de um valor codificado por URI.

No Bicep, use a função uriComponentToString .

Parâmetros

Parâmetro Obrigatório Type Description
uriEncodedString Sim string O valor codificado de URI para converter em uma cadeia de caracteres.

Valor devolvido

Uma cadeia de caracteres decodificada de valor codificado por URI.

Exemplos

O exemplo a seguir mostra como usar uri, uriComponente uriComponentToString.

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "variables": {
    "uriFormat": "[uri('http://contoso.com/resources/', 'nested/azuredeploy.json')]",
    "uriEncoded": "[uriComponent(variables('uriFormat'))]"
  },
  "resources": [
  ],
  "outputs": {
    "uriOutput": {
      "type": "string",
      "value": "[variables('uriFormat')]"
    },
    "componentOutput": {
      "type": "string",
      "value": "[variables('uriEncoded')]"
    },
    "toStringOutput": {
      "type": "string",
      "value": "[uriComponentToString(variables('uriEncoded'))]"
    }
  }
}

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

Nome Tipo valor
uriOutput String http://contoso.com/resources/nested/azuredeploy.json
componentOutput String http%3A%2F%2Fcontoso.com%2Fresources%2Fnested%2Fazuredeploy.json
toStringOutput String http://contoso.com/resources/nested/azuredeploy.json

Próximos passos