Selective Pass Through
El componente Selective Pass Through permite decidir si se envía un valor a la siguiente etapa del flujo de trabajo. Se basa en una condición simple que compara dos textos y, si la condición se cumple, devuelve un valor predefinido; si no, devuelve una cadena vacía. Es útil cuando quieres filtrar datos o activar acciones solo cuando se cumplen ciertos criterios.
¿Cómo funciona?
El componente trabaja de forma local, sin llamar a servicios externos. Cuando se ejecuta, toma los valores introducidos en los campos Input Value y Comparison Value, los compara según el Operator seleccionado y, opcionalmente, respetando la sensibilidad a mayúsculas/minúsculas si se activa Case Sensitive. Si la comparación devuelve verdadero, el componente devuelve el contenido de Value to Pass; de lo contrario, devuelve una cadena vacía. El resultado se muestra en la salida Passed Output y también se refleja en el estado interno del componente.
Entradas
Campos de Entrada
- Input Value: El texto principal que se evaluará en la condición.
- Comparison Value: El texto con el que se comparará el valor de entrada.
- Operator: El tipo de comparación que se realizará. Las opciones disponibles son:
equals
– Igualdad exacta.not equals
– Diferencia exacta.contains
– El valor de entrada contiene el valor de comparación.starts with
– El valor de entrada comienza con el valor de comparación.ends with
– El valor de entrada termina con el valor de comparación.
- Value to Pass: El texto que se enviará a la salida si la condición se cumple.
- Case Sensitive: Si se marca, la comparación tendrá en cuenta mayúsculas y minúsculas; si no, la comparación será insensible a mayúsculas.
Salidas
- Passed Output: Devuelve el contenido de Value to Pass cuando la condición se cumple; de lo contrario, devuelve una cadena vacía. Este valor puede conectarse a cualquier otro componente que requiera una entrada de texto.
Ejemplo de Uso
Supongamos que quieres enviar un mensaje de alerta solo cuando el estado de un sensor sea "ALARM"
. Configura el componente así:
Campo | Valor |
---|---|
Input Value | {sensor_status} (valor que llega del sensor) |
Comparison Value | ALARM |
Operator | equals |
Value to Pass | Trigger Alert |
Case Sensitive | False |
Si el sensor devuelve "ALARM"
, la salida Passed Output será "Trigger Alert"
, lo que puedes usar para activar una notificación. Si el sensor devuelve cualquier otro valor, la salida será una cadena vacía y la notificación no se enviará.
Componentes Relacionados
- Filter – Permite filtrar flujos de datos basados en condiciones más complejas.
- Conditional Branch – Despliega rutas de flujo diferentes según una condición booleana.
- Text Manipulation – Realiza transformaciones de texto antes de compararlo.
Consejos y Mejores Prácticas
- Usa
Case Sensitive
con cuidado: Si los datos pueden variar en mayúsculas/minúsculas, desactiva esta opción para evitar falsos negativos. - Combina con
Conditional Branch
: Si necesitas ejecutar diferentes acciones según el resultado, conecta la salida a un componente de rama condicional. - Prueba con valores de ejemplo: Antes de desplegar en producción, verifica que la condición se comporte como esperas con distintos valores de entrada.
Consideraciones de Seguridad
- El componente no interactúa con fuentes externas, por lo que no introduce riesgos de inyección de código o exposición de datos sensibles.
- Asegúrate de que los valores de entrada provengan de fuentes confiables para evitar que se introduzcan datos inesperados que puedan romper la lógica de tu flujo.