filter

package
v0.20.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 23, 2024 License: Apache-2.0 Imports: 14 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var JsSwitchReturnFormatErr = errors.New("return the value is not an array")

JsSwitchReturnFormatErr 如果脚本返回不是数组错误

Functions

This section is empty.

Types

type ExprFilterNode added in v0.19.0

type ExprFilterNode struct {
	//节点配置
	Config ExprFilterNodeConfiguration
	// contains filtered or unexported fields
}

ExprFilterNode 使用expr表达式过滤消息 如果返回值`True`发送信息到`True`链, `False`发到`False`链。 如果表达式执行失败则发送到`Failure`链 通过`msg`变量访问消息体,如果消息的dataType是json类型,可以通过 `msg.XX`方式访问msg的字段。例如:`msg.temperature > 50;` 通过`metadata`变量访问消息元数据。例如 `metadata.customerName` 通过`msgType`变量访问消息类型 通过`dataType`变量访问数据类型

func (*ExprFilterNode) Destroy added in v0.19.0

func (x *ExprFilterNode) Destroy()

Destroy 销毁

func (*ExprFilterNode) Init added in v0.19.0

func (x *ExprFilterNode) Init(ruleConfig types.Config, configuration types.Configuration) error

Init 初始化

func (*ExprFilterNode) New added in v0.19.0

func (x *ExprFilterNode) New() types.Node

func (*ExprFilterNode) OnMsg added in v0.19.0

func (x *ExprFilterNode) OnMsg(ctx types.RuleContext, msg types.RuleMsg)

OnMsg 处理消息

func (*ExprFilterNode) Type added in v0.19.0

func (x *ExprFilterNode) Type() string

Type 组件类型

type ExprFilterNodeConfiguration added in v0.19.0

type ExprFilterNodeConfiguration struct {
	// 表达式
	Expr string
}

ExprFilterNodeConfiguration 节点配置

type FieldFilterNode added in v0.13.0

type FieldFilterNode struct {
	//节点配置
	Config            FieldFilterNodeConfiguration
	DataNamesList     []string
	MetadataNamesList []string
}

FieldFilterNode 过滤满足是否存在某个msg字段/metadata字段 消息 如果 `True`发送信息到`True`链, `False`发到`False`链。

func (*FieldFilterNode) Destroy added in v0.13.0

func (x *FieldFilterNode) Destroy()

Destroy 销毁

func (*FieldFilterNode) Init added in v0.13.0

func (x *FieldFilterNode) Init(ruleConfig types.Config, configuration types.Configuration) error

Init 初始化

func (*FieldFilterNode) New added in v0.13.0

func (x *FieldFilterNode) New() types.Node

func (*FieldFilterNode) OnMsg added in v0.13.0

func (x *FieldFilterNode) OnMsg(ctx types.RuleContext, msg types.RuleMsg)

OnMsg 处理消息

func (*FieldFilterNode) Type added in v0.13.0

func (x *FieldFilterNode) Type() string

Type 组件类型

type FieldFilterNodeConfiguration added in v0.13.0

type FieldFilterNodeConfiguration struct {
	//是否是满足所有field key存在
	CheckAllKeys bool
	//msg data字段key多个与逗号隔开
	DataNames string
	//metadata字段key多个与逗号隔开
	MetadataNames string
}

FieldFilterNodeConfiguration 节点配置

type GroupFilterNode added in v0.17.0

type GroupFilterNode struct {
	//节点配置
	Config     GroupFilterNodeConfiguration
	NodeIdList []string
	Length     int32
}

GroupFilterNode 把多个filter节点组成一个分组, 如果所有节点都是True,则把数据到`True`链, 否则发到`False`链。 AllMatches=false,则只要有任何一个节点返回是True,则发送到`True`链 nodeIds为空或者执行超时,发送到`Failure`链

func (*GroupFilterNode) Destroy added in v0.17.0

func (x *GroupFilterNode) Destroy()

Destroy 销毁

func (*GroupFilterNode) Init added in v0.17.0

func (x *GroupFilterNode) Init(ruleConfig types.Config, configuration types.Configuration) error

Init 初始化

func (*GroupFilterNode) New added in v0.17.0

func (x *GroupFilterNode) New() types.Node

func (*GroupFilterNode) OnMsg added in v0.17.0

func (x *GroupFilterNode) OnMsg(ctx types.RuleContext, msg types.RuleMsg)

OnMsg 处理消息

func (*GroupFilterNode) Type added in v0.17.0

func (x *GroupFilterNode) Type() string

Type 组件类型

type GroupFilterNodeConfiguration added in v0.17.0

type GroupFilterNodeConfiguration struct {
	//AllMatches 是否要求所有节点都匹配才发送到True链,如果为false,则只要有任何一个节点匹配就发送到True链
	AllMatches bool
	//NodeIds 组内节点ID列表,多个ID与`,`隔开
	NodeIds string
	//Timeout 执行超时,单位秒,默认0:代表不限制。
	Timeout int
}

GroupFilterNodeConfiguration 节点配置

type JsFilterNode

type JsFilterNode struct {
	//节点配置
	Config JsFilterNodeConfiguration
	// contains filtered or unexported fields
}

JsFilterNode 使用js脚本过滤传入信息 如果 `True`发送信息到`True`链, `False`发到`False`链。 如果 脚本执行失败则发送到`Failure`链 消息体可以通过`msg`变量访问,如果消息的dataType是json类型,可以通过 `msg.XX`方式访问msg的字段。例如:`return msg.temperature > 50;` 消息元数据可以通过`metadata`变量访问。例如 `metadata.customerName === 'Lala';` 消息类型可以通过`msgType`变量访问.

func (*JsFilterNode) Destroy

func (x *JsFilterNode) Destroy()

Destroy 销毁

func (*JsFilterNode) Init

func (x *JsFilterNode) Init(ruleConfig types.Config, configuration types.Configuration) error

Init 初始化

func (*JsFilterNode) New

func (x *JsFilterNode) New() types.Node

func (*JsFilterNode) OnMsg

func (x *JsFilterNode) OnMsg(ctx types.RuleContext, msg types.RuleMsg)

OnMsg 处理消息

func (*JsFilterNode) Type

func (x *JsFilterNode) Type() string

Type 组件类型

type JsFilterNodeConfiguration

type JsFilterNodeConfiguration struct {
	//JsScript 配置函数体脚本内容
	// 使用js脚本进行过滤
	//完整脚本函数:
	//function Filter(msg, metadata, msgType) { ${JsScript} }
	//return bool
	JsScript string
}

JsFilterNodeConfiguration 节点配置

type JsSwitchNode

type JsSwitchNode struct {
	//节点配置
	Config JsSwitchNodeConfiguration
	// contains filtered or unexported fields
}

JsSwitchNode 节点执行已配置的JS脚本。脚本应返回消息应路由到的下一个链名称的数组。 如果数组为空-消息不路由到下一个节点。 消息体可以通过`msg`变量访问,如果消息的dataType是json类型,可以通过 `msg.XX`方式访问msg的字段。例如:`msg.temperature > 50;` 消息元数据可以通过`metadata`变量访问。例如 `metadata.customerName === 'Lala';` 消息类型可以通过`msgType`变量访问.

func (*JsSwitchNode) Destroy

func (x *JsSwitchNode) Destroy()

Destroy 销毁

func (*JsSwitchNode) Init

func (x *JsSwitchNode) Init(ruleConfig types.Config, configuration types.Configuration) error

Init 初始化

func (*JsSwitchNode) New

func (x *JsSwitchNode) New() types.Node

func (*JsSwitchNode) OnMsg

func (x *JsSwitchNode) OnMsg(ctx types.RuleContext, msg types.RuleMsg)

OnMsg 处理消息

func (*JsSwitchNode) Type

func (x *JsSwitchNode) Type() string

Type 组件类型

type JsSwitchNodeConfiguration

type JsSwitchNodeConfiguration struct {
	JsScript string
}

JsSwitchNodeConfiguration 节点配置

type MsgTypeSwitchNode

type MsgTypeSwitchNode struct {
}

MsgTypeSwitchNode 根据传入的消息类型路由到一个或多个输出链 把消息通过类型发到正确的链,

func (*MsgTypeSwitchNode) Destroy

func (x *MsgTypeSwitchNode) Destroy()

Destroy 销毁

func (*MsgTypeSwitchNode) Init

func (x *MsgTypeSwitchNode) Init(ruleConfig types.Config, configuration types.Configuration) error

Init 初始化

func (*MsgTypeSwitchNode) New

func (x *MsgTypeSwitchNode) New() types.Node

func (*MsgTypeSwitchNode) OnMsg

func (x *MsgTypeSwitchNode) OnMsg(ctx types.RuleContext, msg types.RuleMsg)

OnMsg 处理消息

func (*MsgTypeSwitchNode) Type

func (x *MsgTypeSwitchNode) Type() string

Type 组件类型

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL