-
Notifications
You must be signed in to change notification settings - Fork 255
[script]Transformer
redHJ edited this page Mar 1, 2018
·
7 revisions
在Parser后使用,针对key指定的字段进行替换,执行key指定字段的脚本,同时支持输入脚本或输入脚本路径进行执行。
配置如下:
{
"type":"script",
"key":"ScriptKey",
"new":"RecordKey",
"interpreter":"bash",
"scriptpath":"",
"script":""
}
该功能可以对指定的key
进行脚本执行结果的替换。
key
指定的字段里存的如果是具体脚本的路径,则支持执行该脚本并将脚本执行结果替换key
指定字段的值,或者创建new
指定的字段并将脚本执行结果存入该字段
key
指定的字段里存的如果不是路径,则需要填写script
或者scriptpath
内容,此时会执行script
或者scriptpath
,并将脚本执行结果存入key
或者new
字段。
-
new
字段可以设置脚本执行结果存入一个新的字段,不改变原来字段所存的内容,如果不想改变key
指定字段所存内容又想记录脚本执行结果,可以通过这个参数设置。默认情况下无需填写,脚本执行结果会替换key
指定字段所存内容。 -
interpreter
字段可以设置脚本执行解释器,默认为bash。 -
scriptpath
字段支持指定脚本文件路径,如果填写了该字段,会优先执行该脚本文件,不执行key
指定字段的脚本。默认情况下无需填写,默认会执行key
指定字段的脚本。 -
script
字段支持指定所需执行脚本内容,如果填写了该字段,会优先执行该脚本内容,不执行scriptpath
和key
指定字段的脚本。默认情况下无需填写,默认会执行key
指定字段的脚本。 -
key
字段支持多级嵌套,多级间用.
符号连接,如abc.xyz
,表示 data["abc"]["xyz"]中的数据。
一份带有script Transformer的完整配置类似如下:
{
"name":"test2.csv",
"reader":{
"log_path":"./tests/logdir",
"mode":"dir"
},
"parser":{
"name":"jsonps",
"type":"json"
},
"transforms":[{
"type":"script",
"key":"status",
"new":"",
"interpreter":"bash",
"scriptpath":"",
"script":""
}],
"senders":[{
"name":"file_sender",
"sender_type":"file",
"file_send_path":"./test2/test2_csv_file.txt"
}]
}
快速开始 | Pandora | Readers | Parsers | Senders | Download | 七牛智能日志管理平台 | logkit-pro专业版