表达式转换器
exprTransform
组件:表达式转换器。使用 expr (opens new window) 库存提供的表达式语言对消息进行转换或者创建新的消息。
# 配置
字段 | 类型 | 说明 | 默认值 |
---|---|---|---|
expr | string | 转换表达式,转换结果替换到msg 转到下一个节点 | 无 |
mapping | map | 多个字段转换表达式,格式(字段:转换表达式) | 无 |
如果设置mapping
字段,则多个转换结果转换成json字符串转到下一个节点。如果设置了expr
字段,优先使用expr字段。
- 通过
id
变量访问消息ID - 通过
ts
变量访问消息时间戳 - 通过
data
变量访问消息原始内容 - 通过
msg
变量访问消息体,如果消息的dataType是json类型,可以通过msg.XX
方式访问msg的字段。例如:msg.temperature > 50;
- 通过
metadata
变量访问消息元数据。例如metadata.customerName
- 通过
type
变量访问消息类型 - 通过
dataType
变量访问数据类型
表达式例子:
- upper(msg.name)
- metaData.productType
- msg.temperature+50
- replace(metaData.productType,'oldValue','newValue')
更多expr表达式语法参考: expr (opens new window)
# Relation Type
- Success: 执行成功,把消息发送到
Success
链 - Failure: 执行失败,把消息发送到
Failure
链
# 执行结果
通过表达式执行结果,替换msg
内容。
# 配置示例
{
"id": "s2",
"type": "exprTransform",
"name": "表达式转换",
"configuration": {
"mapping": {
"name": "upper(msg.name)",
"tmp": "msg.temperature",
"alarm": "msg.temperature>50",
"productType": "metaData.productType"
}
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
在 GitHub 上编辑此页 (opens new window)
上次更新: 2024/10/23, 10:13:01