Funções de cadeia de caracteres para modelos do ARM
O Resource Manager oferece as seguintes funções para trabalhar com cadeias de caracteres no seu modelo do ARM (Azure Resource Manager):
- base64
- base64ToJson
- base64ToString
- concat
- contains
- dataUri
- dataUriToString
- empty
- endsWith
- first
- format
- guid
- indexOf
- join
- json
- last
- lastIndexOf
- length
- newGuid
- padLeft
- replace
- skip
- split
- startsWith
- cadeia de caracteres
- substring
- take
- toLower
- toUpper
- cortar
- uniqueString
- uri
- uriComponent
- uriComponentToString
Dica
Recomendamos o Bicep porque ele oferece as mesmas funcionalidades que os modelos do ARM e a sintaxe é mais fácil de usar. Para saber mais, confira funções de cadeia de caracteres.
base64
base64(inputString)
Retorna a representação base64 da cadeia de caracteres de entrada.
No Bicep, use a função base64.
Parâmetros
Parâmetro | Obrigatório | Type | Descrição |
---|---|---|---|
inputString | Sim | string | O valor a retornar como uma representação base64. |
Retornar valor
Uma cadeia de caracteres que contém a representação base64.
Exemplos
O exemplo a seguir mostra como usar a função 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 |
---|---|---|
base64Output | String | b25lLCB0d28sIHRocmVl |
toStringOutput | String | um, dois, três |
toJsonOutput | Objeto | {"one": "a", "two": "b"} |
base64ToJson
base64ToJson(base64Value)
Converte uma representação base64 em um objeto JSON.
No Bicep, use a função base64ToJson.
Parâmetros
Parâmetro | Obrigatório | Type | Descrição |
---|---|---|---|
base64Value | Sim | string | A representação base64 a ser convertida em um objeto JSON. |
Retornar valor
Um objeto JSON.
Exemplos
O seguinte exemplo usa a função base64ToJson
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 |
---|---|---|
base64Output | String | b25lLCB0d28sIHRocmVl |
toStringOutput | String | um, dois, três |
toJsonOutput | Objeto | {"one": "a", "two": "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 | Descrição |
---|---|---|---|
base64Value | Sim | string | A representação base64 a ser convertida em uma cadeia de caracteres. |
Retornar valor
Uma cadeia de caracteres do valor base64 convertido.
Exemplos
O seguinte exemplo usa a função base64ToString
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 |
---|---|---|
base64Output | String | b25lLCB0d28sIHRocmVl |
toStringOutput | String | um, dois, três |
toJsonOutput | Objeto | {"one": "a", "two": "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 concat()
para melhorar a legibilidade. No entanto, em alguns casos, como a substituição de cadeias de caracteres em cadeias de caracteres de várias linhas, talvez seja necessário fazer fallback usando a função concat()
ou à função replace()
.
Parâmetros
Parâmetro | Obrigatório | Type | Descrição |
---|---|---|---|
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 | Cadeias de caracteres ou matrizes adicionais em ordem sequencial para concatenação. |
Essa função pode conter qualquer número de argumentos e pode aceitar cadeias de caracteres ou matrizes como parâmetros. No entanto, você não pode apresentar cadeias de caracteres e matrizes para parâmetros. Só é possível concatenar cadeias de caracteres com outras cadeias de caracteres.
Retornar valor
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 | prefix-5yj4yjf5mbg72 |
O próximo exemplo 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 |
---|---|---|
return | Array | ["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 subcadeia de caracteres. 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, use a função contains.
Parâmetros
Parâmetro | Obrigatório | Type | Descrição |
---|---|---|---|
contêiner | Sim | matriz, objeto ou cadeia de caracteres | O valor que contém o valor a ser encontrado. |
itemToFind | Sim | cadeia de caracteres ou inteiro | O valor a ser encontrado. |
Valor retornado
True
se o item for encontrado; caso contrário, False
.
Exemplos
O seguinte exemplo mostra como usar contains com tipos diferentes:
{
"$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 | Falso |
objectTrue | Bool | True |
objectFalse | Bool | Falso |
arrayTrue | Bool | True |
arrayFalse | Bool | Falso |
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 | Descrição |
---|---|---|---|
stringToConvert | Sim | string | O valor a ser convertido em um URI de dados. |
Retornar valor
Uma cadeia de caracteres formatada como um URI de dados.
Exemplos
O seguinte exemplo converte um valor em um URI de dados e 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 | data:text/plain;charset=utf8;base64,SGVsbG8= |
toStringOutput | String | Hello, World! |
dataUriToString
dataUriToString(dataUriToConvert)
Converte um valor formatado como um URI de dados em uma cadeia de caracteres.
No Bicep, use a função dataUriToString.
Parâmetros
Parâmetro | Obrigatório | Type | Descrição |
---|---|---|---|
dataUriToConvert | Sim | string | Os valor de URI de dados a ser convertido. |
Retornar valor
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 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 | data:text/plain;charset=utf8;base64,SGVsbG8= |
toStringOutput | String | Hello, World! |
vazio
empty(itemToTest)
Determina se uma matriz, objeto ou uma cadeia de caracteres está vazio.
No Bicep, use a função empty.
Parâmetros
Parâmetro | Obrigatório | Type | Descrição |
---|---|---|---|
itemToTest | Sim | matriz, objeto ou cadeia de caracteres | O valor a ser verificado, caso esteja vazio. |
Valor retornado
Retorna True
se o valor estiver vazio; caso contrário, False
.
Exemplos
O exemplo a seguir verifica se uma matriz, um objeto e uma 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 |
---|---|---|
arrayEmpty | Bool | True |
objectEmpty | Bool | True |
stringEmpty | Bool | True |
endsWith
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 | Descrição |
---|---|---|---|
stringToSearch | Sim | string | O valor que contém o item a ser encontrado. |
stringToFind | Sim | string | O valor a ser encontrado. |
Valor retornado
True
se o último caractere ou caracteres da cadeia de caracteres corresponderem ao valor; caso contrário, False
.
Exemplos
O exemplo a seguir mostra como usar as funções startsWith
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 |
startsCapTrue | Bool | True |
startsFalse | Bool | Falso |
endsTrue | Bool | True |
endsCapTrue | Bool | True |
endsFalse | Bool | Falso |
first
first(arg1)
Retorna o primeiro caractere da cadeia de caracteres ou o primeiro elemento da matriz. Se uma cadeia de caracteres vazia for fornecida, a função resultará em uma cadeia de caracteres vazia. No caso de uma matriz vazia, a função retorna null
.
No Bicep, use a função first.
Parâmetros
Parâmetro | Obrigatório | Type | Descrição |
---|---|---|---|
arg1 | Sim | matriz ou cadeia de caracteres | O valor para recuperar o primeiro elemento ou caractere. |
Retornar valor
Uma cadeia de caracteres do primeiro caractere ou o tipo (cadeia de caracteres, inteiro, matriz ou objeto) do primeiro elemento em uma matriz.
Exemplos
O exemplo a seguir mostra como usar a primeira função com uma matriz e 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 | one |
stringOutput | String | O |
format
format(formatString, arg1, arg2, ...)
Cria uma cadeia de caracteres formatada com base em valores de entrada.
No Bicep, use a função format.
Parâmetros
Parâmetro | Obrigatório | Type | Descrição |
---|---|---|---|
formatString | Sim | string | A cadeia de caracteres de formato de composição. |
arg1 | Sim | cadeia de caracteres, inteiro ou booliano | O valor a ser incluído na cadeia de caracteres formatada. |
mais argumentos | Não | cadeia de caracteres, inteiro ou booliano | Valores adicionais a serem incluídos na cadeia de caracteres formatada. |
Comentários
Use essa função para formatar uma cadeia de caracteres do seu modelo. Ela usa as mesmas opções de formatação do método System.String.Format do .NET.
Exemplos
O exemplo a seguir mostra como usar a função de formatação.
{
"$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 | 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 | Descrição |
---|---|---|---|
baseString | Sim | string | O valor usado na função de hash para criar o GUID. |
parâmetros extras 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. |
Comentários
Essa função é útil quando você precisa criar um valor no formato de um identificador global exclusivo. Você fornece valores de parâmetros que limitam o escopo de exclusividade para o resultado. Você pode especificar se o nome é exclusivo para a assinatura, grupo de recursos ou implantação.
O valor retornado não é uma cadeia de caracteres aleatória, mas sim o resultado de uma função de hash nos parâmetros. O valor retornado tem 36 caracteres. Ele não é globalmente exclusivo. Para criar uma GUID que não se baseie nesse valor de hash dos parâmetros, use a função newGuid.
Os exemplos a seguir mostram como usar guid para criar um valor exclusivo para níveis usados com mais frequência.
Escopo exclusivo para a assinatura
"[guid(subscription().subscriptionId)]"
Escopo exclusivo para o grupo de recursos
"[guid(resourceGroup().id)]"
Escopo exclusivo para a implantação de um grupo de recursos
"[guid(resourceGroup().id, deployment().name)]"
A função guid
implementa o algoritmo de RFC 4122 §4.3. A fonte original pode ser encontrada em GuidUtility com algumas modificações.
Retornar valor
Uma cadeia de caracteres que contém 36 caracteres no formato de um identificador global exclusivo.
Exemplos
O exemplo a seguir retorna os 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 em 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 | Descrição |
---|---|---|---|
stringToSearch | Sim | string | O valor que contém o item a ser encontrado. |
stringToFind | Sim | string | O valor a ser encontrado. |
Retornar valor
Um inteiro que representa a posição do item a ser encontrado. O valor é baseado em zero. Se o item não for encontrado, -1 será retornado.
Exemplos
O exemplo a seguir mostra como usar as funções indexOf
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 |
---|---|---|
firstT | int | 0 |
lastT | int | 3 |
firstString | int | 2 |
lastString | int | 0 |
NotFound | int | -1 |
join
join(inputArray, delimiter)
Une uma matriz de cadeia de caracteres em uma só cadeia de caracteres, separada usando um delimitador.
No Bicep, use a função join.
Parâmetros
Parâmetro | Obrigatório | Type | Descrição |
---|---|---|---|
inputArray | Yes | matriz de cadeias de caracteres | Uma matriz de cadeias de caracteres a serem unidas. |
delimitador | Sim | O delimitador a ser usado para dividir a cadeia de caracteres. |
Retornar valor
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'), ';')]"
}
}
}
O resultado do exemplo anterior é:
Nome | Tipo | Valor |
---|---|---|
firstOutput | String | "one,two,three" |
secondOutput | String | "one;two;three" |
json
json(arg1)
Converte uma cadeia de caracteres JSON válida em um tipo de dados JSON. Para saber mais, confira função json.
No Bicep, use a função json.
last
last(arg1)
Retorna o último caractere da cadeia de caracteres ou o último elemento da matriz.
No Bicep, use a função last.
Parâmetros
Parâmetro | Obrigatório | Type | Descrição |
---|---|---|---|
arg1 | Sim | matriz ou cadeia de caracteres | O valor para recuperar o último elemento ou caractere. |
Retornar valor
Uma cadeia de caracteres do último caractere ou o tipo (cadeia de caracteres, inteiro, matriz ou objeto) do último elemento em uma matriz.
Exemplos
O exemplo a seguir mostra como usar a última função last
com uma matriz e 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 em 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 | Descrição |
---|---|---|---|
stringToSearch | Sim | string | O valor que contém o item a ser encontrado. |
stringToFind | Sim | string | O valor a ser encontrado. |
Retornar valor
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á retornado.
Exemplos
O exemplo a seguir mostra como usar as funções indexOf
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 |
---|---|---|
firstT | int | 0 |
lastT | int | 3 |
firstString | int | 2 |
lastString | int | 0 |
NotFound | int | -1 |
comprimento
length(string)
Retorna o número de caracteres de uma cadeia de caracteres, elementos de uma matriz ou propriedades em nível raiz de um objeto.
No Bicep, use a função length.
Parâmetros
Parâmetro | Obrigatório | Type | Descrição |
---|---|---|---|
arg1 | Sim | matriz, cadeia de caracteres ou objeto | A matriz usada para obter o número de elementos, a cadeia de caracteres usada para obter o número de caracteres ou o objeto usado para obter o número de propriedades em nível raiz. |
Retornar valor
Um inteiro.
Exemplos
O exemplo a seguir mostra como usar a última função length
com uma matriz e 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. Só é possível usar essa função no valor padrão de um parâmetro.
No Bicep, use a função newGuid.
Comentários
Você só pode usar essa função em uma expressão do valor padrão de um parâmetro. O uso dela em qualquer outro lugar de um modelo retorna um erro. A função não é permitida em outras partes do modelo porque ela retorna um valor diferente cada vez que é chamada. Implantar o mesmo modelo com os mesmos parâmetros não produziria os mesmos resultados com confiança.
A função newGuid difere da função guid porque ela não usa parâmetros. Quando você chama a função guid com o mesmo parâmetro, ela sempre retorna o mesmo identificador. Use a guid quando precisar gerar a mesma GUID com confiança para um ambiente específico. Use a newGuid quando precisar de um identificador diferente a cada vez, como ao implantar recursos em um ambiente de teste.
A função newGuid usa a Estrutura de GUID do .NET Framework para gerar o identificador global exclusivo.
Se você usar a opção para reimplantar uma implantação bem-sucedida anterior e a implantação anterior incluir um parâmetro que usa a newGuid, o parâmetro não será reavaliado. Em vez disso, o valor do parâmetro da implantação anterior será utilizado automaticamente na implantação de reversão.
Em um ambiente de teste, talvez seja necessário implantar repetidamente os recursos que só duram um curto período. Em vez de construir nomes exclusivos, você pode usar a newGuid com uniqueString para criar nomes exclusivos.
Tenha cuidado ao reimplantar um modelo que depende da função newGuid de um valor padrão. Quando você reimplanta e não informa um valor para o parâmetro, a função é reavaliada. Se você quiser atualizar um recurso existente em vez de criar um, informe o valor do parâmetro da implantação anterior.
Retornar valor
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 de acordo com cada implantação, mas será semelhante a:
Nome | Tipo | Valor |
---|---|---|
guidOutput | string | b76a51fc-bd72-4a77-b9a2-3c29e7d2e551 |
O exemplo a seguir usa a função newGuid
para criar um nome exclusivo para uma conta de armazenamento. Esse modelo pode funcionar para o ambiente de teste onde a conta de armazenamento existe por um curto período 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 de acordo com cada implantação, mas será semelhante a:
Nome | Tipo | Valor |
---|---|---|
nameOutput | string | storagenziwvyru7uxie |
padLeft
padLeft(valueToPad, totalLength, paddingCharacter)
Retorna uma cadeia de caracteres alinhada à direita adicionando caracteres à esquerda até alcançar o comprimento total especificado.
No Bicep, use a função PadLeft.
Parâmetros
Parâmetro | Obrigatório | Type | Descrição |
---|---|---|---|
valueToPad | Sim | cadeia de caracteres ou inteiro | O valor para alinhar à direita. |
totalLength | Sim | INT | O número total de caracteres na cadeia de caracteres retornada. |
paddingCharacter | Não | caractere único | O caractere a ser usado para o preenchimento à esquerda até que o tamanho total seja atingido. O valor padrão é um espaço. |
Se a cadeia de caracteres original for mais longa que o número de caracteres a ser preenchido, nenhum caractere será adicionado.
Retornar valor
Uma cadeia de caracteres com, pelo menos, o número de caracteres especificado.
Exemplos
O exemplo a seguir mostra como preencher o valor de parâmetro fornecido pelo usuário adicionando o caractere zero até que ele atinja 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 |
substituir
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 replace.
Parâmetros
Parâmetro | Obrigatório | Type | Descrição |
---|---|---|---|
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 caractere a ser removida da cadeia de caracteres original. |
newString | Sim | string | A cadeia de caracteres a ser adicionada no lugar da cadeia removida. |
Retornar valor
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 |
secondOutput | 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 Bicep, use a função skip.
Parâmetros
Parâmetro | Obrigatório | Type | Descrição |
---|---|---|---|
originalValue | Sim | matriz ou cadeia de caracteres | A matriz ou cadeia de caracteres a ser usada para ignorar. |
numberToSkip | Sim | INT | O número de elementos ou caracteres a ser ignorado. Se esse valor for 0 ou menos, todos os elementos ou caracteres no valor serão retornados. Se ele for maior que o tamanho da matriz ou da cadeia de caracteres, uma matriz ou uma cadeia de caracteres vazia será retornada. |
Retornar valor
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 | Array | ["three"] |
stringOutput | String | two three |
divisão
split(inputString, delimiter)
Retorna uma matriz de cadeias de caracteres que contém as subcadeias de caracteres da cadeia de caracteres de entrada que são delimitadas por delimitadores especificados.
No Bicep, use a função split.
Parâmetros
Parâmetro | Obrigatório | Type | Descrição |
---|---|---|---|
inputString | Sim | string | A cadeia de caracteres a dividir. |
delimitador | Sim | cadeia de caracteres ou matriz de cadeias de caracteres | O delimitador a ser usado para dividir a cadeia de caracteres. |
Retornar valor
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 um 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 | Array | ["one", "two", "three"] |
secondOutput | Array | ["one", "two", "three"] |
startsWith
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 | Descrição |
---|---|---|---|
stringToSearch | Sim | string | O valor que contém o item a ser encontrado. |
stringToFind | Sim | string | O valor a ser encontrado. |
Valor retornado
True
se o primeiro caractere ou caracteres da cadeia de caracteres corresponderem ao valor; caso contrário, False
.
Exemplos
O exemplo a seguir mostra como usar as funções startsWith
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 |
startsCapTrue | Bool | True |
startsFalse | Bool | Falso |
endsTrue | Bool | True |
endsCapTrue | Bool | True |
endsFalse | Bool | Falso |
string
string(valueToConvert)
Converte o valor especificado em uma cadeia de caracteres.
No Bicep, use a função cadeia de caracteres.
Parâmetros
Parâmetro | Obrigatório | Type | Descrição |
---|---|---|---|
valueToConvert | Sim | Qualquer | O valor a ser convertido em cadeia de caracteres. Qualquer tipo de valor pode ser convertido, incluindo objetos e matrizes. |
Retornar valor
Uma cadeia de caracteres do valor convertido.
Exemplos
O seguinte exemplo 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":"Example Text"} |
arrayOutput | String | ["a","b","c"] |
intOutput | String | 5 |
substring
substring(stringToParse, startIndex, length)
Retorna uma subcadeia de caraceteres que começa na posição do caractere especificado e contém o número especificado de caracteres.
No Bicep, use a função substring.
Parâmetros
Parâmetro | Obrigatório | Type | Descrição |
---|---|---|---|
stringToParse | Sim | string | A cadeia original da qual a subcadeia de caracteres é extraída. |
startIndex | Não | INT | A posição inicial do caractere baseada em zero para a subcadeia de caracteres. |
comprimento | Não | INT | O número de caracteres para a subcadeia de caracteres. Deve se referir a uma localização dentro da cadeia de caracteres. Deve ser zero ou maior. Se omitido, o restante da cadeia de caracteres da posição inicial será retornado. |
Retornar valor
A subcadeia de caracteres. Ou, uma cadeia de caracteres vazia se o comprimento for zero.
Comentários
A função falhará quando a subcadeia de caracteres ultrapassar o final da cadeia de caracteres, ou quando o comprimento for menor que zero. O exemplo a seguir falha com o erro “Os parâmetros de índice e de tamanho devem se referir a uma localização na cadeia de caracteres. O parâmetro de índice: '0', o parâmetro de comprimento: '11', o comprimento do parâmetro de cadeia de caracteres: '10'”.
"parameters": {
"inputString": {
"type": "string",
"value": "1234567890"
}
}, "variables": {
"prefix": "[substring(parameters('inputString'), 0, 11)]"
}
Exemplos
O exemplo a seguir extrai uma subcadeia de caracteres 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 de cadeias de caracteres. Uma matriz com o número especificado de elementos desde o início da matriz. Uma cadeia de caracteres com o número especificado de caracteres no início da cadeia.
No Bicep, use a função take.
Parâmetros
Parâmetro | Obrigatório | Type | Descrição |
---|---|---|---|
originalValue | Sim | matriz ou cadeia de caracteres | A matriz ou cadeia de caracteres da qual extrair os elementos. |
numberToTake | Sim | INT | O número de elementos ou caracteres a ser extraído. Se esse valor for 0 ou menos, uma matriz ou cadeia de caracteres vazia será retornada. Se ele for maior que o tamanho da matriz ou da cadeia de caracteres especificada, todos os elementos da matriz ou da cadeia de caracteres serão retornados. |
Retornar valor
Uma matriz ou cadeia de caracteres.
Exemplos
O exemplo a seguir extrai o número especificado de elementos da matriz e de 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 | Array | ["one", "two"] |
stringOutput | String | on |
toLower
toLower(stringToChange)
Converte a cadeia de caracteres especificada em letras minúsculas.
No Bicep, use a função toLower.
Parâmetros
Parâmetro | Obrigatório | Type | Descrição |
---|---|---|---|
stringToChange | Sim | string | O valor a ser convertido em letras minúsculas. |
Retornar valor
A cadeia de caracteres convertida em minúsculas.
Exemplos
O exemplo a seguir converte um valor de parâmetro em letras 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 |
---|---|---|
toLowerOutput | 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, use a função toUpper.
Parâmetros
Parâmetro | Obrigatório | Type | Descrição |
---|---|---|---|
stringToChange | Sim | string | O valor a ser convertido em letras maiúsculas. |
Retornar valor
A cadeia de caracteres convertida em maiúsculas.
Exemplos
O exemplo a seguir converte um valor de parâmetro em letras 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 |
---|---|---|
toLowerOutput | String | um dois três |
toUpperOutput | String | UM DOIS TRÊS |
cortar
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 | Descrição |
---|---|---|---|
stringToTrim | Sim | string | O valor de corte. |
Retornar valor
A cadeia de caracteres sem caracteres de espaço em branco à esquerda e à direita.
Exemplos
O exemplo a seguir remove 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 |
---|---|---|
return | String | um dois três |
uniqueString
uniqueString(baseString, ...)
Cria uma cadeia de caracteres de hash determinístico com base nos valores fornecidos como parâmetros.
No Bicep, use a função uniqueString.
Parâmetros
Parâmetro | Obrigatório | Type | Descrição |
---|---|---|---|
baseString | Sim | string | O valor usado na função de hash para criar uma cadeia de caracteres exclusiva. |
parâmetros extras 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. |
Comentários
Essa função é útil quando você precisa criar um nome exclusivo para um recurso. Você fornece valores de parâmetros que limitam o escopo de exclusividade para o resultado. Você pode especificar se o nome é exclusivo para a assinatura, grupo de recursos ou implantação.
O valor retornado não é uma cadeia de caracteres aleatória, mas sim o resultado de uma função de hash. O valor retornado tem 13 caracteres. Ele não é globalmente exclusivo. Você talvez queira combinar o valor com um prefixo de sua convenção de nomenclatura para criar um nome significativo. O exemplo a seguir mostra o formato do valor retornado. O valor real poderá variar de acordo com os parâmetros fornecidos.
tcvhiyu5h2o5o
Os exemplos a seguir mostrarão de que modo usar o uniqueString
a fim de criar um valor exclusivo para níveis usados com mais frequência.
Escopo exclusivo para a assinatura
"[uniqueString(subscription().subscriptionId)]"
Escopo exclusivo para o grupo de recursos
"[uniqueString(resourceGroup().id)]"
Escopo exclusivo para a implantação de 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 em seu grupo de recursos. Dentro do grupo de recursos, o nome não será exclusivo se for construído da mesma maneira.
"resources": [{
"name": "[concat('storage', uniqueString(resourceGroup().id))]",
"type": "Microsoft.Storage/storageAccounts",
...
Caso precise criar um nome exclusivo sempre que implantar um modelo e não pretenda atualizar o recurso, será possível usar a função utcNow com uniqueString
. Você pode usar essa abordagem em um ambiente de teste. Para ver um exemplo, confira utcNow.
Retornar valor
Uma cadeia de caracteres que contém 13 caracteres.
Exemplos
O exemplo a seguir retorna os 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 | Descrição |
---|---|---|---|
baseUri | Sim | string | Cadeia de caracteres do URI de base. Observe com cuidado o comportamento em relação ao manuseio da barra à direita (/ ), conforme descrito após esta tabela. |
relativeUri | Sim | string | Cadeia de caracteres de uri relativo para adicionar a cadeia de caracteres do uri de base. |
Se
baseUri
terminar com uma barra à direita, o resultado é simplesmentebaseUri
seguido porrelativeUri
. SerelativeUri
também começar com uma barra à esquerda, a barra à direita e a barra à esquerda serão combinadas em uma.Se
baseUri
não terminar em uma barra final, uma das duas coisas acontece.Se
baseUri
não tiver nenhuma barra (além da//
frente), o resultado serábaseUri
seguido porrelativeUri
.Se
baseUri
tiver algumas barras, mas não terminar com uma barra, tudo, a partir da última barra, será removido ebaseUri
o resultado serábaseUri
seguido porrelativeUri
.
Veja 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/', '/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 baseUri
parâmetros e relativeUri
são resolvidos conforme especificado na RFC 3986, seção 5.
Valor retornado
Uma cadeia de caracteres que representa o URI absoluto dos valores base e relativos.
Exemplos
O exemplo a seguir mostra como criar 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 a uri
, uriComponent
e 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 | Descrição |
---|---|---|---|
stringToEncode | Sim | string | O valor a ser codificado. |
Retornar valor
Uma cadeia de caracteres do valor codificado em URI.
Exemplos
O modelo de exemplo a seguir mostra como usar a uri
, uriComponent
e 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 em URI.
No Bicep, use a função uriComponentToString.
Parâmetros
Parâmetro | Obrigatório | Type | Descrição |
---|---|---|---|
uriEncodedString | Sim | string | O valor codificado em URI a ser convertido em uma cadeia de caracteres. |
Retornar valor
Uma cadeia de caracteres decodificada de valores codificados em URI.
Exemplos
O exemplo a seguir mostra como usar o uri
, uriComponent
e 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óximas etapas
- Para obter uma descrição das seções de um modelo do ARM, confira Entender a estrutura e a sintaxe dos modelos do ARM.
- Para mesclar vários modelos, confira Usando modelos vinculados e aninhados ao implantar recursos do Azure.
- Para iterar um número especificado de vezes ao criar um tipo de recurso, confira Iteração de recursos em modelos do ARM.
- Para ver como implantar o modelo que você criou, confira Implantar recursos com modelos do ARM e o Azure PowerShell.