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):
- base64
- base64ToJson
- base64ToString
- concat
- contém:
- dataUri
- dataUriToString
- empty
- termina com
- primeiro
- format
- GUID
- indexOf
- aderir
- Json
- último
- lastIndexOf
- length
- newGuid
- padLeft [en]
- replace
- pular
- split
- começaCom
- string
- substring
- tomar
- paraMais baixo
- toUpper
- guarnição
- uniqueString
- URI
- uriComponent
- uriComponentToString
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 | Necessá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 | Necessá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 | Necessá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 concat()
função ou da replace()
função.
Parâmetros
Parâmetro | Necessá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 | Necessá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 | Necessá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 | Necessá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 | Necessá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 | Necessá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(s) último(s) caractere(s) da cadeia 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 | Necessá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 | Necessá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 | Necessá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 | Necessá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 | Necessá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 | Necessá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 | Necessá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 | Necessá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 | Necessá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 | Necessá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 | Necessá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 | Necessá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 | Necessá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(s) primeiro(s) caractere(s) da cadeia 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 | Necessá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 | Necessá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 | Necessá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 | Necessá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 | Necessá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 | Necessá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 | Necessá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 | Necessá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
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 numa só.Se
baseUri
não terminar em uma barra à direita, uma das duas coisas acontece.Se
baseUri
não tiver nenhuma barra (exceto a//
próxima da frente) o resultado ébaseUri
seguido porrelativeUri
.Se
baseUri
tiver algumas barras, mas não terminar com uma barra, tudo, desde a última barra em diante, é removido ebaseUri
o resultado ébaseUri
seguido porrelativeUri
.
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/', '/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 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
, 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 | Necessá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
, 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 por URI.
No Bicep, use a função uriComponentToString .
Parâmetros
Parâmetro | Necessá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
, 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óximos passos
- Para obter uma descrição das seções em um modelo ARM, consulte Compreender a estrutura e a sintaxe dos modelos ARM.
- Para mesclar vários modelos, consulte Usando modelos vinculados e aninhados ao implantar recursos do Azure.
- Para iterar um número especificado de vezes ao criar um tipo de recurso, consulte Iteração de recurso em modelos ARM.
- Para ver como implantar o modelo que você criou, consulte Implantar recursos com modelos ARM e Azure PowerShell.