js脚本路由
jsSwitch
组件:脚本路由。执行已配置的JS脚本,根据脚本返回值动态路由消息到一个或多个输出链。
JavaScript脚本支持ECMAScript 5.1(+) 语法规范和部分ES6规范,如:async/await/Promise/let。允许在脚本中调用Go自定义函数,请参考udf 。
# 配置
字段 | 类型 | 说明 | 默认值 |
---|---|---|---|
jsScript | string | js脚本 | 无 |
jsScript
:可以对msg、metadata、msgType进行处理和判断。该字段是以下函数体内容:function JsSwitch(msg, metadata, msgType) { ${jsScript} }
1
2
3- msg:消息内容,如果dataType=JSON,类型是:
jsonObject
,可以使用msg.temperature
方式操作。如果dataType是其他类型,该字段类型是:string
- metadata:消息元数据,类型:
jsonObject
- msgType:消息类型
- 函数返回值类型:
数组
,返回一个字符串数组,包含要路由到的一个或多个链名称
- msg:消息内容,如果dataType=JSON,类型是:
注意
- 脚本执行超时时间配置参考: config.ScriptMaxExecutionTime
- 返回的链名称必须在规则链connections中定义,否则消息会被丢弃
# Relation Type
使用脚本返回值动态决定路由关系,可以路由到一个或多个输出链。如果返回的链名称没有对应的连接,则会使用Default
链进行路由。
# 执行结果
该组件不会改变msg
、metadata
和msgType
内容,仅用于决定消息的路由方向。
# 配置示例
在 GitHub 上编辑此页 (opens new window)
上次更新: 2024/12/22, 03:38:12