ECMAscript 基础
创建一个新的FlowFile
1 var flowFile = session.create();
从父FlowFile创建新的FlowFile
1 var newFlowFile = session.create(flowFile);
向流文件添加属性
1 flowFile = session.putAttribute(flowFile, 'myAttr', 'myValue')
向流文件添加多个属性
1 var attrMap = {'myAttr1':'1', 'myAttr2': number2.toString()} 2 flowFile = session.putAllAttributes(flowFile, attrMap)
从流文件中获取属性
1 var myAttr = flowFile.getAttribute('filename') 2 3 var attrs = flowFile.getAttributes(); 4 for each (var attrKey in attrs.keySet()) { 5 //attrs[attrKey] 6 }
将流文件传输到关系
1 session.transfer(flowFile, REL_FAILURE) 2 session.transfer(flowFile, REL_SUCCESS)
使用回调读取传入流文件的内容
1 session.read(flowFile,new InputStreamCallback(function(inputStream) { 2 var text = IOUtils.toString(inputStream, StandardCharsets.UTF_8); 3 // Do something with text here 4 }));
使用回调将内容写入传出流文件
1 flowFile = session.write(flowFile,new OutputStreamCallback(function(outputStream) { 2 outputStream.write("Hello World!".getBytes(StandardCharsets.UTF_8)) 3 }));
使用回调覆盖带有更新内容的传入流文件
1 flowFile = session.write(flowFile,new StreamCallback(function(inputStream, outputStream) { 2 var text = IOUtils.toString(inputStream, StandardCharsets.UTF_8) 3 outputStream.write(text.split("").reverse().join("").getBytes(StandardCharsets.UTF_8)) 4 }));
处理脚本处理过程中的错误
1 var flowFile = session.get(); 2 if(flowFile != null) { 3 try { 4 session.transfer(flowFile, REL_SUCCESS) 5 } catch(e) { 6 log.error('Something went wrong', e) 7 session.transfer(flowFile, REL_FAILURE) 8 } 9 }
以指定的日志记录级别向日志发送消息
1 var ObjectArrayType = Java.type("java.lang.Object[]"); 2 var objArray = new ObjectArrayType(3); 3 objArray[0] = 'Hello'; 4 objArray[1] = 1; 5 objArray[2] = true; 6 log.info('Found these things: {} {} {}', objArray)
做你说过的 说你能做的;

浙公网安备 33010602011771号