Utiliser des fonctions de chaîne dans les expressions de formule - AWS IoT SiteWise

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Utiliser des fonctions de chaîne dans les expressions de formule

Dans les transformations et les métriques, vous pouvez utiliser les fonctions suivantes pour agir sur des chaînes. Pour de plus amples informations, veuillez consulter Utiliser des chaînes dans les formules.

Important

Les expressions de formule ne peuvent générer que des valeurs doubles ou des valeurs de chaîne. Les expressions imbriquées peuvent générer d'autres types de données, tels que des chaînes, mais la formule dans son ensemble doit être évaluée à un nombre ou à une chaîne. Vous pouvez utiliser la fonction jp pour convertir une chaîne en nombre. La valeur booléenne doit être 1 (vrai) ou 0 (faux). Pour de plus amples informations, veuillez consulter Valeurs non définies, infinies et en dépassement.

Fonction Description

len(s)

Renvoie la longueur de la chaînes.

find(s, substring)

Renvoie l'index de la chaîne substring dans la chaînes.

contains(s, substring)

Renvoie 1 si la chaîne s contient la chaînesubstring, sinon0.

upper(s)

Renvoie la chaîne s en majuscules.

lower(s)

Renvoie la chaîne s en minuscules.

jp(s, json_path)

Évalue la chaîne s avec l'JsonPathexpression json_path et renvoie le résultat.

Utilisez cette fonction pour effectuer les opérations suivantes :

  • Extrayez une valeur, un tableau ou un objet d'une JSON structure sérialisée.

  • Convertit une chaîne en nombre. Par exemple, la formule est jp('111', '$') renvoyée 111 sous forme de nombre.

Pour extraire une valeur de chaîne d'une JSON structure et la renvoyer sous forme de nombre, vous devez utiliser plusieurs jp fonctions imbriquées. La jp fonction externe extrait la chaîne de la JSON structure et la jp fonction interne convertit la chaîne en nombre.

La chaîne json_path doit contenir une chaîne littérale. Cela signifie qu'il ne json_path peut pas s'agir d'une expression évaluée en chaîne.

Exemples
  • jp('{"status":"active","value":15}', '$.value') renvoie 15.

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

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

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

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

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

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

Renvoie une chaîne concaténée avec un délimiteur. Cette fonction utilise la première chaîne d'entrée comme délimiteur et réunit les chaînes d'entrée restantes. Cela se comporte de la même manière que la fonction join (CharSequence delimiter, CharSequence... elements) en Java.

Exemples
  • join("-", "aa", "bb", "cc")retours aa-bb-cc

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

Renvoie une chaîne au format spécifié. Cette fonction donne expression une valeur, puis renvoie la valeur dans le format spécifié. Cela se comporte de la même manière que la fonction format (String format, Object... args) en Java. Pour plus d'informations sur les formats pris en charge, consultez la section Conversions sous Class Formatter dans la plate-forme Java, API spécification Standard Edition 7.

Exemples
  • format(100+1: "d")renvoie une chaîne,101.

  • format("The result is %d", 100+1)renvoie une chaîne,The result is 101.

f'expression'

Renvoie une chaîne concaténée. Avec cette fonction formatée, vous pouvez utiliser une expression simple pour concaténer et formater des chaînes. Ces fonctions peuvent contenir des expressions imbriquées. Vous pouvez utiliser {} (accolades) pour interpoler des expressions. Cela se comporte de la même manière que les littéraux de chaîne formatés en Python.

Exemples
  • f'abc{1+2: "f"}d' renvoie abc3.000000d. Pour évaluer cet exemple d'expression, procédez comme suit :

    1. format(1+2: "f")renvoie un nombre à virgule flottante,3.000000.

    2. join('', "abc", 1+2, 'd')renvoie une chaîne,abc3.000000d.

    Vous pouvez également écrire l'expression de la manière suivante : join('', "abc", format(1+2: "f"), 'd')