ECMAscript 基础讲解

var StreamCallback =  Java.type("org.apache.nifi.processor.io.StreamCallback")
var IOUtils = Java.type("org.apache.commons.io.IOUtils");
var StandardCharsets = Java.type("java.nio.charset.StandardCharsets");
var flowFile = session.get();
var text = '';
var flowId = '';
if(flowFile != null) {
    try {
        flowId = flowFile.getAttribute('uuid')// 获取属性值
        flowFile = session.write(flowFile,new StreamCallback(function(inputStream, outputStream) {
            text = IOUtils.toString(inputStream, StandardCharsets.UTF_8);// 读取流内容,结果为字符串
            text = text.replace(/\\/g,"\\")// 异常处理,正则
            var obj = [{"uuid":flowId,"content":text,"create_date":Date.parse(new Date())}];// 拼接字符串
            flowFile = session.putAttribute(flowFile, 'myAttr', 'myValue')// 向流文件添加属性
            text = JSON.stringify(obj); // json对象转字符串
            outputStream.write(text.getBytes(StandardCharsets.UTF_8)) // text 结果内容写入
        }));
        session.transfer(flowFile, REL_SUCCESS)
    } catch(e) {
        session.transfer(flowFile, REL_FAILURE)
    }
}

 

posted @ 2021-08-13 15:25  木章  阅读(89)  评论(0)    收藏  举报