ECMAscript 获取所有属性
把所有属性信息打印到流内容,过滤排除一些默认的服务信息属性
1 var StreamCallback = Java.type("org.apache.nifi.processor.io.StreamCallback") 2 var IOUtils = Java.type("org.apache.commons.io.IOUtils"); 3 var StandardCharsets = Java.type("java.nio.charset.StandardCharsets"); 4 var flowFile = session.get(); 5 var text = ''; 6 if(flowFile != null) { 7 try { 8 var attrs = flowFile.getAttributes(); 9 flowFile = session.write(flowFile,new StreamCallback(function(inputStream, outputStream) { 10 var obj = {}; 11 for each (var attrKey in attrs.keySet()) { 12 if(attrKey.indexOf('http.')==-1 && attrKey.indexOf('RouteOnAttribute.')==-1 && attrKey != 'path'){ 13 obj[attrKey] = attrs[attrKey]; 14 } 15 } 16 text = JSON.stringify(obj); 17 outputStream.write(text.getBytes(StandardCharsets.UTF_8)) 18 })); 19 session.transfer(flowFile, REL_SUCCESS) 20 } catch(e) { 21 session.transfer(flowFile, REL_FAILURE) 22 } 23 }
做你说过的 说你能做的;