模板解析器
text/template
组件:使用 text/template (opens new window) 解析模板。用于消息格式转化、格式适配等场景。
# 配置
字段 | 类型 | 说明 | 默认值 |
---|---|---|---|
template | string | 模板内容或文件路径,如果是文件路径使用file:开头 | 无 |
template:
- 通过
.id
变量访问消息ID - 通过
.ts
变量访问消息时间戳 - 通过
.data
变量访问消息原始内容 - 通过
.msg
变量访问消息转换后的数据,如果消息的dataType是json类型,可以通过.msg.XX
方式访问msg的字段 - 通过
.metadata
变量访问消息元数据。例如.metadata.customerName
- 通过
.type
变量访问消息类型 - 通过
.dataType
变量访问数据类型
示例:
id:{{ .id}}
ts:{{ .ts}}
type:{{ .type}}
data:{{ .data}}
msg.name:{{ .msg.name}}
dataType:{{ .dataType}}
productType:{{ .metadata.productType}}
1
2
3
4
5
6
7
2
3
4
5
6
7
# 自定义函数
可以通过 github.com/rulego/rulego/builtin/funcs.TemplateFuncMap
注册自定义函数,例如:
import "github.com/rulego/rulego/builtin/funcs"
funcs.TemplateFuncMap["escape"] = func(s string) string {
return strings.Replace(s, "\"", "\\\"", -1)
}
1
2
3
4
2
3
4
使用:
"template": "data:\"{{.data | escape}}\""
1
# Relation Type
- Success: 执行成功,把消息发送到
Success
链 - Failure: 执行失败,把消息发送到
Failure
链
# 执行结果
通过模板执行结果,替换msg
内容。
# 配置示例
{
"id": "s1",
"type": "text/template",
"name": "模板转换",
"configuration": {
"template": "type:{{ .type}}"
}
}
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