Funções de cadeia de caracteres para Bicep
Este artigo descreve as funções do Bíceps para trabalhar com cadeias de caracteres.
base64
base64(inputString)
Retorna a representação base64 da cadeia de caracteres de entrada.
Espaço de nome: sys.
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 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 |
---|---|---|
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.
Espaço de nome: sys.
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 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 |
---|---|---|
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.
Espaço de nome: sys.
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 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 |
---|---|---|
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. Para melhorar a legibilidade, use interpolação de cadeia de caracteres em vez da concat()
função. 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.
Espaço de nome: sys.
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 uma comparação entre o uso de interpolação e o uso da concat()
função. 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 |
interpolaçãoOutput | String | prefixAnd5yj4yjf5mbg72 |
Atualmente, não há suporte para interpolação em cadeias de caracteres de várias linhas. O exemplo a seguir mostra uma comparação entre o uso de interpolação e o uso da concat()
função.
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 | interpolação\nis BLOQUEADO |
interpolaçãoOutput | String | interpolação\nis ${bloqueado} |
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.
Espaço de nome: sys.
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:
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 | False |
objectTrue | Bool | True |
objectFalse | Bool | False |
arrayTrue | Bool | True |
arrayFalse | Bool | False |
dataUri
dataUri(stringToConvert)
Converte um valor em um URI de dados.
Espaço de nome: sys.
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:
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 | 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.
Espaço de nome: sys.
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 exemplo a seguir converte um valor em um URI de dados e converte 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 | 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 ou nula.
Espaço de nome: sys.
Parâmetros
Parâmetro | Necessário | Type | Description |
---|---|---|---|
itemToTest | Sim | matriz, objeto ou cadeia de caracteres | O valor para verificar se está vazio ou nulo. |
Valor devolvido
Retorna True se o valor estiver vazio ou nulo, caso contrário, False.
Exemplos
O exemplo a seguir verifica se uma matriz, objeto e 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 |
---|---|---|
arrayVazio | Bool | True |
objectEmpty | Bool | True |
stringEmpty | Bool | True |
stringNull | 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.
Espaço de nome: sys.
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 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 |
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
.
Espaço de nome: sys.
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.
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 | um |
stringOutput | String | O |
format
format(formatString, arg1, arg2, ...)
Cria uma cadeia de caracteres formatada a partir de valores de entrada.
Espaço de nome: sys.
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. |
Argumentos adicionais | Não | string, inteiro ou booleano | Valores adicionais a serem incluídos na cadeia de caracteres formatada. |
Observações
Use esta função para formatar uma cadeia de caracteres no arquivo Bicep. 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.
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 [en] | 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.
Espaço de nome: sys.
Parâmetros
Parâmetro | Necessário | Type | Description |
---|---|---|---|
baseString | Sim | string | O valor utilizado na função hash para criar o GUID. |
parâmetros adicionais, 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.
Nota
A ordem dos parâmetros afeta o valor retornado. Por exemplo:
guid('hello', 'world')
e guid('world', 'hello')
não devolva o mesmo valor.
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:
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 dentro de uma cadeia de caracteres. A comparação não diferencia maiúsculas de minúsculas.
Espaço de nome: sys.
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 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 |
---|---|---|
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.
Espaço de nome: sys.
Parâmetros
Parâmetro | Necessário | Type | Description |
---|---|---|---|
inputArray | Sim | Uma matriz de cadeia de caracteres. | Uma matriz de cadeias 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 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 | "um, dois, três" |
segundoSaída | String | "um; dois; três" |
Esta função requer Bicep CLI 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 obter mais informações, consulte função json.
Espaço de nome: sys.
Último
last(arg1)
Retorna o último caractere da cadeia de caracteres ou o último elemento da matriz.
Espaço de nome: sys.
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 última função com uma matriz e uma 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 dentro de uma cadeia de caracteres. A comparação não diferencia maiúsculas de minúsculas.
Espaço de nome: sys.
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
:
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 |
---|---|---|
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.
Espaço de nome: sys.
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 o comprimento com uma matriz e uma 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. Esta função só pode ser usada no valor padrão para um parâmetro.
Espaço de nome: sys.
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 arquivo Bicep retorna um erro. A função não é permitida em outras partes do arquivo Bicep porque retorna um valor diferente cada vez que é chamada. Implantar o mesmo arquivo Bicep 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 os mesmos parâmetros, 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 arquivo Bicep 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.
param guidValue string = newGuid()
output guidOutput string = 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 função newGuid para criar um nome exclusivo para uma conta de armazenamento. Esse arquivo Bicep 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.
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 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.
Espaço de nome: sys.
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.
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 |
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.
Espaço de nome: sys.
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.
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 |
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.
Espaço de nome: sys.
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.
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 | 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.
Espaço de nome: sys.
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.
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 | 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.
Espaço de nome: sys.
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 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 |
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.
As cadeias de caracteres são retornadas como estão. Outros tipos são convertidos para sua representação JSON equivalente.
Se você precisar converter uma string para JSON, ou seja, citar/escapar, você pode usar substring(string([value]), 1, length(string([value]) - 2)
.
Espaço de nome: sys.
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:
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 substring que começa na posição de caractere especificada e contém o número especificado de caracteres.
Espaço de nome: sys.
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'.".
param inputString string = '1234567890'
var prefix = substring(inputString, 0, 11)
Exemplos
O exemplo a seguir extrai uma substring 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 do início da cadeia de caracteres ou uma matriz com o número especificado de elementos do início da matriz.
Espaço de nome: sys.
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.
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 | Matriz | ["um", "dois"] |
stringOutput | String | em |
paraMais baixo
toLower(stringToChange)
Converte a cadeia de caracteres especificada em minúsculas.
Espaço de nome: sys.
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.
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 |
---|---|---|
paraLowerOutput | String | Um dois três |
toUpperOutput | String | UM DOIS TRÊS |
toUpper
toUpper(stringToChange)
Converte a cadeia de caracteres especificada em maiúsculas.
Espaço de nome: sys.
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.
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 |
---|---|---|
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.
Espaço de nome: sys.
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.
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 |
---|---|---|
regressar | String | Um dois três |
uniqueString
uniqueString(baseString, ...)
Cria uma cadeia hash determinista, com base nos valores proporcionados como parâmetros.
Espaço de nome: sys.
Parâmetros
Parâmetro | Necessário | Type | Description |
---|---|---|---|
baseString | Sim | string | O valor utilizado na função hash para criar uma cadeia exclusiva. |
parâmetros adicionais, 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.
resource mystorage 'Microsoft.Storage/storageAccounts@2023-04-01' = {
name: 'storage${uniqueString(resourceGroup().id)}'
...
}
Se você precisar criar um novo nome exclusivo cada vez que implantar um arquivo Bicep 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. Observe que a função utcNow só pode ser usada dentro de uma expressão para o valor padrão de um parâmetro.
Valor devolvido
Uma cadeia de caracteres contendo 13 caracteres.
Exemplos
O exemplo a seguir retorna 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.
Espaço de nome: sys.
Parâmetros
Parâmetro | Necessário | Type | Description |
---|---|---|---|
baseUri | Sim | string | A cadeia de caracteres uri base. Tenha o cuidado de observar o comportamento em relação ao 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 barras (além do "//" perto da frente), o resultado é simplesmentebaseUri
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 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.
Espaço de nome: sys.
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 exemplo a seguir 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 por URI.
Espaço de nome: sys.
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:
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óximos passos
- Para obter uma descrição das seções em um arquivo Bicep, consulte Compreender a estrutura e a sintaxe dos arquivos Bicep.
- Para iterar um número especificado de vezes ao criar um tipo de recurso, consulte Loops iterativos no Bicep.
- Para ver como implantar o arquivo Bicep que você criou, consulte Implantar recursos com o Bicep e o Azure PowerShell.