Funções de objeto para Bicep

Este artigo descreve as funções bicep para trabalhar com objetos.

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.

Retornar valor

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

Exemplo

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

vazio

empty(itemToTest)

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

Namespace: sys.

Parâmetros

Parâmetro Obrigatório Type Descrição
itemToTest Sim matriz, objeto ou cadeia de caracteres O valor a ser verificado, caso esteja vazio.

Retornar valor

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

Exemplo

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 = ''

output arrayEmpty bool = empty(testArray)
output objectEmpty bool = empty(testObject)
output stringEmpty bool = empty(testString)

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

Nome Type Valor
arrayEmpty Bool True
objectEmpty Bool True
stringEmpty Bool True

interseção

intersection(arg1, arg2, arg3, ...)

Retorna uma única matriz ou objeto com os elementos comuns dos parâmetros.

Namespace: sys.

Parâmetros

Parâmetro Obrigatório Type Descrição
arg1 Sim objeto ou matriz O primeiro valor a ser usado para localizar elementos comuns.
arg2 Sim objeto ou matriz O segundo valor a ser usado para localizar elementos comuns.
argumentos adicionais Não objeto ou matriz Os valores adicionais a serem usados para localizar elementos comuns.

Retornar valor

Uma matriz ou objeto com os elementos comuns.

Exemplo

O exemplo a seguir mostra como usar a interseção com matrizes e objetos:

param firstObject object = {
  'one': 'a'
  'two': 'b'
  'three': 'c'
}
param secondObject object = {
  'one': 'a'
  'two': 'z'
  'three': 'c'
}
param firstArray array = [
  'one'
  'two'
  'three'
]
param secondArray array = [
  'two'
  'three'
]

output objectOutput object = intersection(firstObject, secondObject)
output arrayOutput array = intersection(firstArray, secondArray)

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

Nome Tipo Valor
objectOutput Objeto {"one": "a", "three": "c"}
arrayOutput Array ["two", "three"]

json

json(arg1)

Converte uma cadeia de caracteres JSON válida em um tipo de dados JSON.

Namespace: sys.

Parâmetros

Parâmetro Obrigatório Type Descrição
arg1 Sim string O valor a ser convertido para JSON. A cadeia de caracteres deve ser uma cadeia de caracteres JSON formatada corretamente.

Retornar valor

O tipo de dados JSON de cadeia de caracteres especificada, ou um valor vazio quando nulo for especificado.

Comentários

Se você precisar incluir um valor de parâmetro ou variável no objeto JSON, use a função concat para criar a cadeia de caracteres que você passa para a função.

Exemplo

O exemplo a seguir mostra como usar a função JSON. Observe que você pode passar null para um objeto vazio.

param jsonEmptyObject string = 'null'
param jsonObject string = '{\'a\': \'b\'}'
param jsonString string = '\'test\''
param jsonBoolean string = 'true'
param jsonInt string = '3'
param jsonArray string = '[[1,2,3]]'
param concatValue string = 'demo value'

output emptyObjectOutput bool = empty(json(jsonEmptyObject))
output objectOutput object = json(jsonObject)
output stringOutput string =json(jsonString)
output booleanOutput bool = json(jsonBoolean)
output intOutput int = json(jsonInt)
output arrayOutput array = json(jsonArray)
output concatObjectOutput object = json(concat('{"a": "', concatValue, '"}'))

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

Nome Tipo Valor
emptyObjectOutput Booliano verdadeiro
objectOutput Objeto {"a": "b"}
stringOutput String test
booleanOutput Booliano verdadeiro
intOutput Integer 3
arrayOutput Array [ 1, 2, 3 ]
concatObjectOutput Objeto {"a": "demo value"}

comprimento

length(arg1)

Retorna o número de elementos de uma matriz, caracteres de uma cadeia de caracteres 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.

Exemplo

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

union

union(arg1, arg2, arg3, ...)

Retorna uma única matriz ou objeto com todos os elementos dos parâmetros. Valores duplicados ou chaves só são incluídos uma vez.

Namespace: sys.

Parâmetros

Parâmetro Obrigatório Type Descrição
arg1 Sim objeto ou matriz O primeiro valor a ser usado para unir elementos.
arg2 Sim objeto ou matriz O segundo valor a ser usado para unir elementos.
argumentos adicionais Não objeto ou matriz Valores adicionais a serem usados para unir elementos.

Retornar valor

Uma matriz ou objeto.

Exemplo

O exemplo a seguir mostra como usar a union com matrizes e objetos:

param firstObject object = {
  'one': 'a'
  'two': 'b'
  'three': 'c1'
}

param secondObject object = {
  'three': 'c2'
  'four': 'd'
  'five': 'e'
}

param firstArray array = [
  'one'
  'two'
  'three'
]

param secondArray array = [
  'three'
  'four'
]

output objectOutput object = union(firstObject, secondObject)
output arrayOutput array = union(firstArray, secondArray)

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

Nome Tipo Valor
objectOutput Objeto {"one": "a", "two": "b", "three": "c2", "four": "d", "five": "e"}
arrayOutput Array ["one", "two", "three", "four"]

Próximas etapas