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         flowFile = session.write(flowFile,new StreamCallback(function(inputStream, outputStream) {
 9             text = IOUtils.toString(inputStream, StandardCharsets.UTF_8);
10         }));
11         var attrKey = flowFile.getAttribute('存储名称');
12         if(attrKey!=""){
13             flowFile = session.putAttribute(flowFile, attrKey, text)
14             session.transfer(flowFile, REL_SUCCESS)
15         }else{
16             session.transfer(flowFile, REL_FAILURE)
17         }
18     } catch(e) {
19         session.transfer(flowFile, REL_FAILURE)
20     }
21 }

 

posted @ 2021-07-22 14:21  木章  阅读(44)  评论(0编辑  收藏  举报