Uso de funciones en expresiones de fórmulas - AWS IoT SiteWise

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Uso de funciones en expresiones de fórmulas

Puede utilizar las siguientes funciones para operar con datos de las expresiones de fórmula.

Las transformaciones y las métricas son compatibles con funciones diferentes. La siguiente tabla indica qué tipos de funciones son compatibles con cada tipo de propiedad de una fórmula.

nota

Se puede incluir un máximo de 10 funciones en una expresión formulaica.

Sintaxis de las funciones

Puede usar la siguiente sintaxis para crear funciones:

Sintaxis normal

Con la sintaxis normal, el nombre de la función va seguido de paréntesis con cero o más argumentos.

function_name(argument1, argument2, argument3, ...). Por ejemplo, las funciones con sintaxis normal podrían ser similares a log(x) y contains(s, substring).

Sintaxis uniforme de llamada a funciones (UFCS)

La UFCS permite llamar a funciones mediante la sintaxis de las llamadas a métodos en la programación orientada a objetos. Con UFCS, el primer argumento va seguido de un punto (.) y del nombre de la función, seguidos del resto de los argumentos (si los hay) entre paréntesis.

argument1.function_name(argument2, argument3, ...). Por ejemplo, las funciones con UFCS podrían ser similares a x.log() y s.contains(substring).

También puede utilizar el UFCS para encadenar funciones posteriores. AWS IoT SiteWise utiliza el resultado de la evaluación de la función actual como primer argumento de la siguiente función.

Por ejemplo, en lugar de utilizar message.jp('$.status').lower().contains('fail'), puede utilizar contains(lower(jp(message, '$.status')),'fail').

Para obtener más información, consulte el sitio webLenguaje de programación D.

nota

Puede utilizar el UFCS para todas las AWS IoT SiteWise funciones.

AWS IoT SiteWise las funciones no distinguen entre mayúsculas y minúsculas. Por ejemplo, puede usar lower(s) y Lower(s) indistintamente.