从 nifi 流文件中提取文本并将其用作参数
Extracting text from nifi flowfile and usig it as an argument
我有 groovy 这样的代码,我想提取 TickSolution 的值,然后将其用作调用服务的参数,我应该使用哪个 nifi 处理器来完成此任务?
import java.nio.charset.StandardCharsets
import org.apache.commons.io.IOUtils
import org.apache.nifi.processor.io.StreamCallback
import java.text.SimpleDateFormat
import java.util.GregorianCalendar
def flowfile = session.get()
if(!flowfile) return
def date=flowfile.getAttribute('fromDate')
SimpleDateFormat format=new SimpleDateFormat("yyyy-mm-dd");
def d=new Date(format.parse(date).getTime());
def newdate=new GregorianCalendar(d.getYear(),d.getMonth(),d.getDay() )
def TICKS_AT_EPOCH = 621355968000000000;
def TICKS_PER_MILLISECOND= 10000;
def TickSolution=(newdate.getTimeInMillis() - TICKS_AT_EPOCH) / TICKS_PER_MILLISECOND
flowfile = session.putAttribute(flowfile, 'filename','Info'+'_'+date)
session.transfer(flowfile, REL_SUCCESS)
莎莉,
您可以尝试使用以下代码来处理 TickSolution 的值。
import java.nio.charset.StandardCharsets
import org.apache.commons.io.IOUtils
import org.apache.nifi.processor.io.StreamCallback
import java.text.SimpleDateFormat
import java.util.GregorianCalendar
def flowfile = session.get()
if(!flowfile) return
def date=flowfile.getAttribute('fromDate')
SimpleDateFormat format=new SimpleDateFormat("yyyy-mm-dd");
def d=new Date(format.parse(date).getTime());
def newdate=new GregorianCalendar(d.getYear(),d.getMonth(),d.getDay() )
def TICKS_AT_EPOCH = 621355968000000000;
def TICKS_PER_MILLISECOND= 10000;
def TickSolution=(newdate.getTimeInMillis() - TICKS_AT_EPOCH) / TICKS_PER_MILLISECOND
flowfile = session.putAttribute(flowfile, 'filename','Info'+'_'+date)
flowfile=session.putAttribute(flowfile,'TickSolution',TickSolution)
session.transfer(flowfile, REL_SUCCESS)
如果您遇到任何问题,请告诉我。
我有 groovy 这样的代码,我想提取 TickSolution 的值,然后将其用作调用服务的参数,我应该使用哪个 nifi 处理器来完成此任务?
import java.nio.charset.StandardCharsets
import org.apache.commons.io.IOUtils
import org.apache.nifi.processor.io.StreamCallback
import java.text.SimpleDateFormat
import java.util.GregorianCalendar
def flowfile = session.get()
if(!flowfile) return
def date=flowfile.getAttribute('fromDate')
SimpleDateFormat format=new SimpleDateFormat("yyyy-mm-dd");
def d=new Date(format.parse(date).getTime());
def newdate=new GregorianCalendar(d.getYear(),d.getMonth(),d.getDay() )
def TICKS_AT_EPOCH = 621355968000000000;
def TICKS_PER_MILLISECOND= 10000;
def TickSolution=(newdate.getTimeInMillis() - TICKS_AT_EPOCH) / TICKS_PER_MILLISECOND
flowfile = session.putAttribute(flowfile, 'filename','Info'+'_'+date)
session.transfer(flowfile, REL_SUCCESS)
莎莉,
您可以尝试使用以下代码来处理 TickSolution 的值。
import java.nio.charset.StandardCharsets
import org.apache.commons.io.IOUtils
import org.apache.nifi.processor.io.StreamCallback
import java.text.SimpleDateFormat
import java.util.GregorianCalendar
def flowfile = session.get()
if(!flowfile) return
def date=flowfile.getAttribute('fromDate')
SimpleDateFormat format=new SimpleDateFormat("yyyy-mm-dd");
def d=new Date(format.parse(date).getTime());
def newdate=new GregorianCalendar(d.getYear(),d.getMonth(),d.getDay() )
def TICKS_AT_EPOCH = 621355968000000000;
def TICKS_PER_MILLISECOND= 10000;
def TickSolution=(newdate.getTimeInMillis() - TICKS_AT_EPOCH) / TICKS_PER_MILLISECOND
flowfile = session.putAttribute(flowfile, 'filename','Info'+'_'+date)
flowfile=session.putAttribute(flowfile,'TickSolution',TickSolution)
session.transfer(flowfile, REL_SUCCESS)
如果您遇到任何问题,请告诉我。