Usando funções de string em expressões de fórmula - AWS IoT SiteWise

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Usando funções de string em expressões de fórmula

Em transformações e métricas, você pode usar as seguintes funções para operar em cadeias de caracteres: Para ter mais informações, consulte Usando cadeias de caracteres em fórmulas.

Importante

As expressões de fórmula só podem produzir valores duplos ou de string. Expressões aninhadas podem gerar outros tipos de dados, como strings, mas a fórmula como um todo deve ser avaliada como um número ou string. Você pode usar a função jp para converter uma string em um número. O valor Booleano deve ser 1 (verdadeiro) ou 0 (falso). Para ter mais informações, consulte Valores indefinidos, infinitos e excedidos.

Função Descrição

len(s)

Retorna o tamanho da string s.

find(s, substring)

Retorna o índice da string substring na string s.

contains(s, substring)

Retorna 1 se a string s contiver a string substring, caso contrário, 0.

upper(s)

Retorna a string s em maiúsculas.

lower(s)

Retorna a string s em minúsculas.

jp(s, json_path)

Avalia a string s com a JsonPathexpressão json_path e retorna o resultado.

Use essa função para fazer o seguinte:

  • Extrair um valor, matriz ou objeto de uma estrutura JSON serializada.

  • Converter uma string em um número. Por exemplo, a fórmula jp('111', '$') retorna 111 como um número.

Para extrair um valor de string de uma estrutura JSON e retorná-lo como um número, você deve usar várias funções aninhadas jp. A função externa jp extrai a string da estrutura JSON e a função internajp converte a string em um número.

A string json_path deve conter uma literal de string. Isso significa que json_path não pode ser uma expressão avaliada como uma string.

exemplo Exemplos
  • jp('{"status":"active","value":15}', '$.value') Retorna 15.

  • jp('{"measurement":{"reading":25,"confidence":0.95}}', '$.measurement.reading') Retorna 25.

  • jp('[2,8,23]', '$[2]') Retorna 23.

  • jp('{"values":[3,6,7]}', '$.values[1]') Retorna 6.

  • jp('111', '$') Retorna 111.

  • jp(jp('{"measurement":{"reading":25,"confidence":"0.95"}}', '$.measurement.confidence'), '$') Retorna 0.95.

join(s0, s1, s2, s3, ...)

Retorna uma string concatenada com um delimitador. Essa função usa a primeira string de entrada como delimitador e une as demais strings de entrada. Isso se comporta de forma semelhante à função join (CharSequence delimiter, CharSequence... elements) em Java.

exemplo Exemplos:
  • join("-", "aa", "bb", "cc") retorna aa-bb-cc

format(expression: "format") ou format("format", expression)

Retorna uma string no formato especificado. Essa função valia expression como um valor e, em seguida, retorna o valor no formato especificado. Isso se comporta de forma semelhante a função format(String format, Object... args) em Java. Para obter mais informações sobre os formatos suportados, consulte Conversões em Formatador de Classe na Plataforma Java, Especificação de API Standard Edition 7.

exemplo Exemplos
  • format(100+1: "d") retorna uma string, 101.

  • format("The result is %d", 100+1) retorna uma string, The result is 101.

f'expression'

Retorna uma string concatenada. Com essa função formatada, você pode usar uma expressão simples para concatenar e formatar strings. Essas funções podem conter expressões aninhadas. Você pode usar {} (chaves) para interpolar expressões. Isso se comporta de forma semelhante aos literais de string formatados em Python.

exemplo Exemplos
  • f'abc{1+2: "f"}d' Retorna abc3.000000d. Para avaliar esse exemplo de expressão, faça o seguinte:

    1. format(1+2: "f") retorna um número de ponto flutuante, 3.000000.

    2. join('', "abc", 1+2, 'd') retorna uma string, abc3.000000d.

    Você também pode escrever a expressão da seguinte maneira: join('', "abc", format(1+2: "f"), 'd').