组件配置变量
某些场景下,需要统一修改组件配置,或者在组件运行时动态更换组件配置。可以使用内置的变量替换组件配置。使用方法:${key}、${key.subKey}。 变量分两大类:全局变量和组件运行时变量。
# 全局变量
全局变量: 在组件初始化时(组件执行Init方法时)执行替换逻辑,包含以下下变量:
global
变量: 访问config.Properties的值,例如:${global.key}
vars
变量: 访问规则链vars值,例如:${vars.key}
全局变量: 所有组件配置字段都支持使用。
# 组件运行时变量
组件运行时变量: 在组件运行时(组件执行OnMsg方法时)执行替换逻辑,包含以下下变量:
id
变量: 访问消息IDts
变量: 访问消息时间戳data
变量: 访问消息原始内容msg
变量: 访问消息转换后的数据,如果消息的dataType是json类型,可以通过${msg.key}
方式访问msg的字段metadata
变量: 访问消息元数据。例如:${metadata.key}
type
变量: 访问消息类型dataType
变量: 访问数据类型
组件运行时变量: 只有特定说明的组件配置字段才支持使用。
# 示例
{
"ruleChain": {
"id":"rule01",
"name": "test",
"configuration": {
"vars": {
"topicPrefix":"/device/msg"
}
}
},
"metadata": {
"nodes": [
{
"id": "s2",
"type": "mqttClient",
"name": "push data",
"configuration": {
"server": "${global.mqttServer}",
"topic": "${vars.topicPrefix}/${metadata.deviceId}"
}
}
],
"connections": [
{
}
]
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
在 GitHub 上编辑此页 (opens new window)
上次更新: 2024/10/23, 10:13:01