表达式过滤器
exprFilter
组件:表达式过滤器。使用 expr (opens new window) 库存提供的表达式语言对消息进行过滤。
# 配置
字段 | 类型 | 说明 | 默认值 |
---|---|---|---|
expr | string | 表达式,表达式的返回结果必须是bool类型 | 无 |
- 通过
id
变量访问消息ID - 通过
ts
变量访问消息时间戳 - 通过
data
变量访问消息原始内容 - 通过
msg
变量访问消息体,如果消息的dataType是json类型,可以通过msg.XX
方式访问msg的字段。例如:msg.temperature > 50;
- 通过
metadata
变量访问消息元数据。例如metadata.customerName
- 通过
type
变量访问消息类型 - 通过
dataType
变量访问数据类型
表达式例子:
- msg.temperature > 50
- msg.temperature > 50 && metadata.customerName == 'rulego'
- upper(metadata.customerName[:4]) == 'GO'
- replace(toJSON(msg),'name','productName')
更多expr表达式语法参考: expr (opens new window)
# Relation Type
- True: 把消息发送到
True
链 - False: 把消息发送到
False
链 - Failure: 执行失败,把消息发送到
Failure
链
# 执行结果
该组件不会改变msg
、metadata
和msgType
内容。
# 配置示例
{
"id": "s1",
"type": "exprFilter",
"name": "表达式过滤器",
"configuration": {
"expr": "msg.temperature > 50"
}
}
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
在 GitHub 上编辑此页 (opens new window)
上次更新: 2024/10/23, 10:13:01