Asignador
La acción Asignador permite crear una salida personalizada mediante la combinación de las salidas de varias acciones y la reestructuración de los objetos, las recopilaciones, las matrices o las cadenas de la salida según las necesidades del usuario. También se pueden realizar varias funciones en la salida. De este modo, se elimina la necesidad de escribir códigos Node.js complejos para recuperar y combinar valores de campo concretos o salidas de varias acciones. El asignador proporciona varias funciones modulares que ayudan a realizar lo siguiente:
Combinar salidas
Iterar objetos, matrices, cadenas y recopilaciones
Manipular y probar valores
Utilización de la acción Asignador
Para utilizar esta acción en el flujo de trabajo, es necesario conectarla a ThingWorx Flow. Para conectarla al flujo, se debe realizar lo siguiente:
1. Pulse en , arrastre la acción Asignador de la utilidad Herramientas de desarrollador al lienzo, coloque el puntero sobre la acción y, a continuación, pulse en o pulse dos veces en la acción. Se abre la ventana de la acción Asignador.
2. Si fuera necesario, modifique el nombre en el campo Rótulo. Por defecto, el nombre de rótulo es igual que el nombre de acción.
3. Pulse en para crear un nuevo par de clave y valor.
a. Cambie el nombre del campo de clave e introduzca el valor. Es posible asignar la salida de las acciones anteriores como entrada en el campo de valor.
b. Pulse en </> para añadir funciones en la entrada especificada.
Pulse en para añadir varios pares de clave y valor.
4. Pulse en Terminado.
Tipos de datos del asignador
El asignador acepta valores de entrada del tipo de datos de matriz, recopilación, objeto y cadena.
Matriz: se utiliza cuando la clave especificada devuelve una matriz. Para definir la matriz como tipo de datos, pulse en y seleccione Matriz de la lista. Para aplicar funciones en matrices, pulse en </>.
Recopilación: este tipo de datos se utiliza cuando la clave especificada devuelve una matriz de objetos. Se puede asignar directamente una recopilación de una acción anterior al campo de valor como clave de recopilación o se pueden añadir pares de valor-clave por separado en la clave de recopilación.
Para definir la recopilación como tipo de datos, pulse en y seleccione Recopilación de la lista. Para aplicar funciones en recopilaciones, pulse en </>.
Objeto: se utiliza cuando la clave especificada devuelve un objeto. Se puede asignar directamente un objeto de una acción anterior al campo de valor como clave de objeto o se pueden añadir pares de valor-clave por separado en la clave de objeto.
Para definir el objeto como tipo de datos, pulse en y seleccione Objeto de la lista. Aquí, es necesario especificar un nombre para el objeto y, a continuación, pulsar en el vínculo "+" proporcionado, situado junto al campo Clave, para añadir los pares de clave y valor. A continuación, se puede seleccionar cualquier tipo de datos para cada una de estas propiedades.
El vínculo (</>) de la consola a través del cual se pueden aplicar funciones se encuentra junto al campo "Nombre de objeto", así como junto a cada campo "Nombre de propiedad" de ese objeto.
Cadena: se utiliza cuando la clave especificada devuelve un valor de la cadena. Por defecto, todos los pares de clave y valor son de tipo de datos de cadena. Para aplicar funciones en cadenas, pulse en </>.
Utilización de las funciones integradas en el asignador
El asignador permite realizar varias funciones en la salida de las acciones anteriores. La acción proporciona varias funciones integradas previamente (obtenidas de la biblioteca "lodash") que el usuario puede utilizar. Como alternativa, el usuario puede escribir sus propias funciones personalizadas.
Funciones matriciales:
_.Compact: permite quitar valores falsos de la matriz proporcionada. Leer más
_.difference: permite devolver una matriz con valores que son únicos para la primera matriz desde el número dado de matrices. Leer más
_.flatten: permite aplanar una matriz a un solo nivel de profundidad. Leer más
_.flattenDeep: permite aplanar toda una matriz. Leer más
_.intersection: permite devolver una matriz con valores que son comunes en todas las matrices proporcionadas. Leer más
_.first: permite recuperar el primer elemento de la matriz proporcionada. Leer más
_.last: permite recuperar el último elemento de la matriz proporcionada. Leer más
_.uniq: permite quitar los valores duplicados de la matriz proporcionada. Leer más
Funciones de objeto
_.pick: permite devolver un objeto con elementos que coinciden con la propiedad de objeto especificada. Leer más
_.get: permite devolver el valor de un elemento presente en la ruta especificada en un objeto. Leer más
_ keys: permite crear una matriz de los nombres de propiedad enumerables de un objeto. Leer más
Funciones de cadena
_.camelCase: permite cambiar las mayúsculas/minúsculas de la cadena a camelCase. Leer más
_.capitalize: permite cambiar el primer carácter de la cadena a mayúsculas y el resto a minúsculas. Leer más
_.kebabcase: permite cambiar las mayúsculas/minúsculas de la cadena a kebabCase. Leer más
_.lowercase: permite convertir la cadena especificada a minúsculas. Leer más
_.lowerfirst: permite convertir el primer carácter de la cadena a minúsculas. Leer más
_.replace: permite reemplazar la cadena que coincide con la condición especificada por una cadena concreta. Leer más
_.repeat: permite repetir la cadena proporcionada, el número de veces especificado. Leer más
_.escape: permite convertir los caracteres &, <, >, ' y " de la cadena a sus entidades HTML correspondientes. Leer más
_.trim: permite quitar los espacios en blanco iniciales y finales, así como los caracteres especificados, de la cadena proporcionada. Leer más
_.unescape: permite convertir las entidades HTML &, <, >, " y ' de la cadena proporcionada a sus caracteres correspondientes. Leer más
Funciones de número
_.add: permite añadir dos números. Leer más
_.ceil: permite redondear el número a la precisión especificada. Leer más
_.divide: permite dividir dos números. Leer más
_.floor: permite redondear a la baja el número, hasta la precisión especificada. Leer más
_.multiply: permite multiplicar dos números. Leer más
_.subtract: permite restar dos números. Leer más
Funciones de recopilación
_filter: permite devolver la matriz con elementos que cumplen la condición de filtro especificada. Leer más
_.find: permite devolver el primer elemento que cumple la condición especificada. Leer más
Ejemplo: Utilización de las funciones integradas en el asignador
Si desea recuperar valores únicos de las listas de matrices determinadas en una sola matriz. Para ello, utilice la acción Operaciones de matriz para concatenar dos matrices (que contengan algunos valores comunes). A continuación, utilice la salida del asignador y ejecute la función _.uniq para filtrar y excluir los valores duplicados.
1. Añada las acciones Operaciones de matriz, Asignador y Enviar un correo electrónico al lienzo y conéctelas tal como se muestra a continuación:
2. Configure la acción Operaciones de matriz tal como se indica a continuación:
Seleccionar operación de matriz: seleccione Concat de la lista.
Matriz de origen 1: permite introducir la primera matriz que desea concatenar.
Matriz de origen 2: permite introducir la segunda matriz que desea concatenar.
Pulse en Añadir para añadir más matrices.
Se ha utilizado "R2-D2" y "Han" en ambas matrices a propósito. De este modo, se crea una matriz que contiene valores repetitivos. Pulse en Terminado. Regresará al lienzo.
3. Configure la acción Asignador de la siguiente manera:
Clave 1: permite introducir el nombre de la clave.
Pulse en para seleccionar el tipo de datos de matriz y, a continuación, pulse en para añadir la función.
Pulse en y, a continuación, en para añadir la salida de la acción Operaciones de matriz como entrada en la ventana de la consola.
Pulse en Funciones y, a continuación, seleccione la función _.uniq para quitar los valores duplicados de la matriz.
Pulse en Guardar. Se ha añadido la ficha de función personalizada como entrada en el campo de valor.
4. Configure la acción Enviar un correo electrónico de la siguiente manera:
Para: permite introducir el ID de correo electrónico del destinatario.
Asunto: permite introducir el asunto del correo electrónico.
Tipo de cuerpo: seleccione el tipo de cuerpo Texto del correo electrónico.
Cuerpo: permite añadir la salida de la acción Asignador indicada en el lado derecho de la ventana de configuración, como entrada para este campo.
5. Pulse en Terminado y, a continuación, en Ejecutar para ejecutar el flujo de trabajo. Esta acción recupera en una única matriz los valores únicos de las listas de matrices determinadas y la envía al destinatario especificado.
Adición de funciones personalizadas en el asignador
La acción Asignador también permite escribir funciones personalizadas para realizar operaciones en el valor de entrada proporcionado. Consulte el siguiente ejemplo para comprender la función personalizada:
Ejemplo
Continuación del ejemplo anterior. Se supone que desea aplicar una función personalizada en la salida de la función _.uniq implementada anteriormente.
1. Realice los siguientes cambios en el código existente, como en la siguiente figura:
2. Una vez añadida la función personalizada en la consola. Pulse en Guardar y, a continuación, en Ejecutar el flujo de trabajo.
* 
También se pueden escribir solo funciones personalizadas que se puedan implementar en las entradas especificadas.
Esquema de salida
La acción Asignador devuelve un esquema de salida en función de los pares de clave y valor que se introduzcan. Consulte un esquema de salida de ejemplo en la siguiente figura: