Funções de cadeia de caracteres para Bicep
Este artigo descreve as funções Bicep para trabalhar com cadeias de caracteres.
base64
base64(inputString)
Retorna a representação base64 da cadeia de caracteres de entrada.
Namespace: sys.
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.
param stringData string = 'one, two, three'
param jsonFormattedData string = '{\'one\': \'a\', \'two\': \'b\'}'
var base64String = base64(stringData)
var base64Object = base64(jsonFormattedData)
output base64Output string = base64String
output toStringOutput string = base64ToString(base64String)
output toJsonOutput object = base64ToJson(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.
Namespace: sys.
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:
param stringData string = 'one, two, three'
param jsonFormattedData string = '{\'one\': \'a\', \'two\': \'b\'}'
var base64String = base64(stringData)
var base64Object = base64(jsonFormattedData)
output base64Output string = base64String
output toStringOutput string = base64ToString(base64String)
output toJsonOutput object = base64ToJson(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.
Namespace: sys.
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:
param stringData string = 'one, two, three'
param jsonFormattedData string = '{\'one\': \'a\', \'two\': \'b\'}'
var base64String = base64(stringData)
var base64Object = base64(jsonFormattedData)
output base64Output string = base64String
output toStringOutput string = base64ToString(base64String)
output toJsonOutput object = base64ToJson(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. Para melhorar a legibilidade, use a interpolação de cadeia de caracteres em vez da função concat()
. 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()
.
Namespace: sys.
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 uma comparação entre o uso da interpolação e o uso da função concat()
. As duas saídas retornam o mesmo valor.
param prefix string = 'prefix'
output concatOutput string = concat(prefix, 'And', uniqueString(resourceGroup().id))
output interpolationOutput string = '${prefix}And${uniqueString(resourceGroup().id)}'
As saídas do exemplo anterior com o valor padrão são:
Nome | Tipo | Valor |
---|---|---|
concatOutput | String | prefixAnd5yj4yjf5mbg72 |
interpolationOutput | String | prefixAnd5yj4yjf5mbg72 |
Atualmente, não há suporte para a interpolação em cadeias de caracteres de várias linhas. O exemplo a seguir mostra uma comparação entre o uso da interpolação e o uso da função concat()
.
var blocked = 'BLOCKED'
output concatOutput string = concat('''interpolation
is ''', blocked)
output interpolationOutput string = '''interpolation
is ${blocked}'''
A saída do exemplo anterior com os valores padrão é:
Nome | Tipo | Valor |
---|---|---|
concatOutput | String | interpolation\nis BLOCKED |
interpolationOutput | String | interpolation\nis ${blocked} |
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.
Namespace: sys.
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:
param stringToTest string = 'OneTwoThree'
param objectToTest object = {
one: 'a'
two: 'b'
three: 'c'
}
param arrayToTest array = [
'one'
'two'
'three'
]
output stringTrue bool = contains(stringToTest, 'e')
output stringFalse bool = contains(stringToTest, 'z')
output objectTrue bool = contains(objectToTest, 'one')
output objectFalse bool = contains(objectToTest, 'a')
output arrayTrue bool = contains(arrayToTest, 'three')
output arrayFalse bool = contains(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.
Namespace: sys.
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:
param stringToTest string = 'Hello'
param dataFormattedString string = 'data:;base64,SGVsbG8sIFdvcmxkIQ=='
output dataUriOutput string = dataUri(stringToTest)
output toStringOutput string = dataUriToString(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.
Namespace: sys.
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 seguinte exemplo converte um valor em um URI de dados e um URI de dados em uma cadeia de caracteres:
param stringToTest string = 'Hello'
param dataFormattedString string = 'data:;base64,SGVsbG8sIFdvcmxkIQ=='
output dataUriOutput string = dataUri(stringToTest)
output toStringOutput string = dataUriToString(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! |
empty
empty(itemToTest)
Determina se uma matriz, objeto ou cadeia de caracteres está vazia ou nula.
Namespace: sys.
Parâmetros
Parâmetro | Obrigatório | Type | Descrição |
---|---|---|---|
itemToTest | Sim | matriz, objeto ou cadeia de caracteres | O valor a ser verificado se está vazio ou nulo. |
Valor retornado
Retorna True se o valor for vazio ou nulo; caso contrário, False.
Exemplos
O exemplo a seguir verifica se uma matriz, um objeto e uma cadeia de caracteres estão vazios.
param testArray array = []
param testObject object = {}
param testString string = ''
param testNullString string?
output arrayEmpty bool = empty(testArray)
output objectEmpty bool = empty(testObject)
output stringEmpty bool = empty(testString)
output stringNull bool = empty(testNullString)
A saída do exemplo anterior com os valores padrão é:
Nome | Tipo | Valor |
---|---|---|
arrayEmpty | Bool | True |
objectEmpty | Bool | True |
stringEmpty | Bool | Verdadeiro |
stringNull | 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.
Namespace: sys.
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 seguinte exemplo mostra como usar as funções startsWith e endsWith:
output startsTrue bool = startsWith('abcdef', 'ab')
output startsCapTrue bool = startsWith('abcdef', 'A')
output startsFalse bool = startsWith('abcdef', 'e')
output endsTrue bool = endsWith('abcdef', 'ef')
output endsCapTrue bool = endsWith('abcdef', 'F')
output endsFalse bool = 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
.
Namespace: sys.
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.
param arrayToTest array = [
'one'
'two'
'three'
]
output arrayOutput string = first(arrayToTest)
output stringOutput string = 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.
Namespace: sys.
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. |
argumentos adicionais | 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 arquivo Bicep. 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.
param greeting string = 'Hello'
param name string = 'User'
param numberToFormat int = 8175133
param objectToFormat object = { prop: 'value' }
output formatTest string = format('{0}, {1}. Formatted number: {2:N0}', greeting, name, numberToFormat)
output formatObject string = format('objectToFormat: {0}', objectToFormat)
A saída do exemplo anterior com os valores padrão é:
Nome | Tipo | Valor |
---|---|---|
formatTest | String | Hello, User. Formatted number: 8,175,133 |
formatObject | String | objectToFormat: {'prop':'value'} |
guid
guid(baseString, ...)
Cria um valor no formato de um identificador global exclusivo com base nos valores fornecidos como parâmetros.
Namespace: sys.
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.
Observação
A ordem dos parâmetros afeta o valor retornado. Por exemplo:
guid('hello', 'world')
e guid('world', 'hello')
não retornam o mesmo valor.
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 do GUID:
output guidPerSubscription string = guid(subscription().subscriptionId)
output guidPerResourceGroup string = guid(resourceGroup().id)
output guidPerDeployment string = 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.
Namespace: sys.
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 seguinte exemplo mostra como usar as funções indexOf e lastIndexOf:
output firstT int = indexOf('test', 't')
output lastT int = lastIndexOf('test', 't')
output firstString int = indexOf('abcdef', 'CD')
output lastString int = lastIndexOf('abcdef', 'AB')
output notFound int = 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.
Namespace: sys.
Parâmetros
Parâmetro | Obrigatório | Type | Descrição |
---|---|---|---|
inputArray | Yes | Uma matriz de cadeia de caracteres. | Uma matriz de cadeias de caracteres a unir. |
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 por vírgula ou ponto e vírgula.
var arrayString = [
'one'
'two'
'three'
]
output firstOutput string = join(arrayString, ',')
output secondOutput string = join(arrayString, ';')
A saída do exemplo anterior com os valores padrão é:
Nome | Tipo | Valor |
---|---|---|
firstOutput | String | "one,two,three" |
secondOutput | String | "one;two;three" |
Essa função requer a CLI do Bicep versão 0.8.X ou superior.
json
json(arg1)
Converte uma cadeia de caracteres JSON válida em um tipo de dados JSON. Para saber mais, confira função json.
Namespace: sys.
last
last(arg1)
Retorna o último caractere da cadeia de caracteres ou o último elemento da matriz.
Namespace: sys.
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 com uma matriz e cadeia de caracteres.
param arrayToTest array = [
'one'
'two'
'three'
]
output arrayOutput string = last(arrayToTest)
output stringOutput string = 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.
Namespace: sys.
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
:
output firstT int = indexOf('test', 't')
output lastT int = lastIndexOf('test', 't')
output firstString int = indexOf('abcdef', 'CD')
output lastString int = lastIndexOf('abcdef', 'AB')
output notFound int = 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.
Namespace: sys.
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 seguinte exemplo mostra como usar length com uma matriz e cadeia de caracteres:
param arrayToTest array = [
'one'
'two'
'three'
]
param stringToTest string = 'One Two Three'
param objectToTest object = {
propA: 'one'
propB: 'two'
propC: 'three'
propD: {
'propD-1': 'sub'
'propD-2': 'sub'
}
}
output arrayLength int = length(arrayToTest)
output stringLength int = length(stringToTest)
output objectLength int = length(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.
Namespace: sys.
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 arquivo Bicep retorna um erro. A função não é permitida em outras partes do arquivo Bicep porque ela retorna um valor diferente cada vez que é chamada. Implantar o mesmo arquivo Bicep 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 os mesmos parâmetros, 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 arquivo Bicep que dependa 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.
param guidValue string = newGuid()
output guidOutput string = 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 arquivo Bicep pode funcionar para o ambiente de teste em que a conta de armazenamento existe por um curto período e não é reimplantado.
param guidValue string = newGuid()
var storageName = 'storage${uniqueString(guidValue)}'
resource myStorage 'Microsoft.Storage/storageAccounts@2023-04-01' = {
name: storageName
location: 'West US'
sku: {
name: 'Standard_LRS'
}
kind: 'StorageV2'
properties: {}
}
output nameOutput string = 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.
Namespace: sys.
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.
param testString string = '123'
output stringOutput string = padLeft(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.
Namespace: sys.
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.
param testString string = '123-123-1234'
output firstOutput string = replace(testString, '-', '')
output secondOutput string = replace(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.
Namespace: sys.
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.
param testArray array = [
'one'
'two'
'three'
]
param elementsToSkip int = 2
param testString string = 'one two three'
param charactersToSkip int = 4
output arrayOutput array = skip(testArray, elementsToSkip)
output stringOutput string = skip(testString, 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.
Namespace: sys.
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.
param firstString string = 'one,two,three'
param secondString string = 'one;two,three'
var delimiters = [
','
';'
]
output firstOutput array = split(firstString, ',')
output secondOutput array = split(secondString, 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.
Namespace: sys.
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 seguinte exemplo mostra como usar as funções startsWith e endsWith:
output startsTrue bool = startsWith('abcdef', 'ab')
output startsCapTrue bool = startsWith('abcdef', 'A')
output startsFalse bool = startsWith('abcdef', 'e')
output endsTrue bool = endsWith('abcdef', 'ef')
output endsCapTrue bool = endsWith('abcdef', 'F')
output endsFalse bool = 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.
As cadeias de caracteres são retornadas no estado em que se encontram. Outros tipos são convertidos na sua representação JSON equivalente.
Se você precisar converter uma cadeia de caracteres em JSON, ou seja, citá-la/escapeá-la, poderá usar substring(string([value]), 1, length(string([value]) - 2)
.
Namespace: sys.
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:
param testObject object = {
valueA: 10
valueB: 'Example Text'
}
param testArray array = [
'\'a\''
'"b"'
'\\c\\'
]
param testInt int = 5
param testString string = 'foo " \' \\'
output objectOutput string = string(testObject)
output arrayOutput string = string(testArray)
output intOutput string = string(testInt)
output stringOutput string = string(testString)
output stringEscapedOutput string = substring(string([testString]), 1, length(string([testString])) - 2)
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 |
stringOutput | String | foo " ' \ |
stringEscapedOutput | String | "foo \" ' \\" |
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.
Namespace: sys.
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'”.
param inputString string = '1234567890'
var prefix = substring(inputString, 0, 11)
Exemplos
O exemplo a seguir extrai uma subcadeia de caracteres de um parâmetro.
param testString string = 'one two three'
output substringOutput string = substring(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 cadeia de caracteres com o número especificado de caracteres desde o início da cadeia de caracteres ou uma matriz com o número especificado de elementos desde o início da matriz.
Namespace: sys.
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.
param testArray array = [
'one'
'two'
'three'
]
param elementsToTake int = 2
param testString string = 'one two three'
param charactersToTake int = 2
output arrayOutput array = take(testArray, elementsToTake)
output stringOutput string = take(testString, 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.
Namespace: sys.
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.
param testString string = 'One Two Three'
output toLowerOutput string = toLower(testString)
output toUpperOutput string = toUpper(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.
Namespace: sys.
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.
param testString string = 'One Two Three'
output toLowerOutput string = toLower(testString)
output toUpperOutput string = toUpper(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.
Namespace: sys.
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.
param testString string = ' one two three '
output return string = trim(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.
Namespace: sys.
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 mostram como usar uniqueString para 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.
resource mystorage 'Microsoft.Storage/storageAccounts@2023-04-01' = {
name: 'storage${uniqueString(resourceGroup().id)}'
...
}
Se for necessário criar um nome exclusivo a cada implantação de arquivo Bicep e você não quiser atualizar o recurso, use a função utcNow com uniqueString. Você pode usar essa abordagem em um ambiente de teste. Para ver um exemplo, confira utcNow. Observe que a função utcNow só pode ser usada em uma expressão para o valor padrão de um parâmetro.
Retornar valor
Uma cadeia de caracteres que contém 13 caracteres.
Exemplos
O exemplo abaixo retorna os resultados de uniquestring:
output uniqueRG string = uniqueString(resourceGroup().id)
output uniqueDeploy string = uniqueString(resourceGroup().id, deployment().name)
uri
uri(baseUri, relativeUri)
Cria um URI absoluto, combinando o baseUri e a cadeia de caracteres relativeUri.
Namespace: sys.
Parâmetros
Parâmetro | Obrigatório | Type | Descrição |
---|---|---|---|
baseUri | Sim | string | Cadeia de caracteres do URI de base. Tome cuidado para observar o comportamento em relação ao manuseio da barra à direita ('/'), como descrito depois desta 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 de duas coisas acontece.Se
baseUri
não tiver nenhuma barra (além do "//" próximo à frente), o resultado é simplesmentebaseUri
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
.
Estes são 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 seguinte exemplo mostra como usar uri, uriComponent e uriComponentToString:
var uriFormat = uri('http://contoso.com/resources/', 'nested/azuredeploy.json')
var uriEncoded = uriComponent(uriFormat)
output uriOutput string = uriFormat
output componentOutput string = uriEncoded
output toStringOutput string = uriComponentToString(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.
Namespace: sys.
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 seguinte exemplo mostra como usar uri, uriComponent e uriComponentToString:
var uriFormat = uri('http://contoso.com/resources/', 'nested/azuredeploy.json')
var uriEncoded = uriComponent(uriFormat)
output uriOutput string = uriFormat
output componentOutput string = uriEncoded
output toStringOutput string = uriComponentToString(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.
Namespace: sys.
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 seguinte exemplo mostra como usar uri, uriComponent e uriComponentToString:
var uriFormat = uri('http://contoso.com/resources/', 'nested/azuredeploy.json')
var uriEncoded = uriComponent(uriFormat)
output uriOutput string = uriFormat
output componentOutput string = uriEncoded
output toStringOutput string = uriComponentToString(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 arquivo Bicep, consulte Noções básicas de estrutura e sintaxe dos arquivos Bicep.
- Para iterar um número especificado de vezes ao criar um tipo de recurso, confira Loops iterativos no Bicep.
- Para saber como implantar o arquivo Bicep que você criou, confira Implantar recursos com o Bicep e o Azure PowerShell.