Skip to content

[replace]Transformer

Sun Jianbo edited this page Jan 2, 2018 · 3 revisions

可以在Parser前使用,也可以在Parser后使用,用stage字段区别。

在parser前使用表示对reader获得的数据整体做字符串替换;在parser后使用则针对key指定的字段做字符串替换。

配置如下

{
		"type":"replace",
		"stage":"after_parser",
		"key":"MyReplaceFieldKey",
		"old":"myOldString",
		"new":"myNewString",
                "regex":false,
}
  • key 字段支持多级嵌套,多级间用.符号连接,如abc.xyz,表示 data["abc"]["xyz"]中的数据。
  • replace Transformer支持正则表达式,当 regex 标志位为 true 时,把 old 字段对应的字符串当作正则表达式处理。

一份带有replace Transformer的完整配置类似如下:

实例的配置会将字段“MyReplaceFieldKey”中的字符串“myOldString”替换为“myNewString”。

{
		"name":"test2.csv",
		"reader":{
			"log_path":"./tests/logdir",
			"mode":"dir"
		},
		"parser":{
			"name":"jsonps",
			"type":"json"
		},
		"transforms":[{
		   "type":"replace",
		   "stage":"after_parser",
		   "key":"MyReplaceFieldKey",
		   "old":"myOldString",
		   "new":"myNewString",
                   "regex":false,
                }],
		"senders":[{
			"name":"file_sender",
			"sender_type":"file",
			"file_send_path":"./test2/test2_csv_file.txt"
		}]
	}
Clone this wiki locally