2017-01-30 1 views
0

FlowFile의 getAttribute에서 어떻게 패턴을 사용할 수 있습니까?NiFi의 getAttribute에서 패턴을 사용하십시오.

ListenTCP 및 ListenUDP 프로세서에서 flowfiles를 수신하는 프로세서를 작성하려고합니다. ListenTCP 속성은 tcp.sender이고 ListenUDP 속성은 udp.sender입니다. FlowFile의 보낸 사람 속성을 얻는 방법. 현재의 솔루션입니다 :

String sender = flowfile.getAttribute("tcp.sender"); 
if(sender!=null && !sender.isEmpty()) { 
    // do something 
} 
else { 
    sender = flowfile.getAttribute("udp.sender"); 
    if(sender!=null && !sender.isEmpty()) { 
     //do something 
    } 
} 

내가 경우 사용하지 않는 방법에 대해 설명합니다. 다음과 같은 것이 필요합니다.

String sender = flowfile.getAttribute("*.sender"); 

답변

4

패턴을 기반으로 속성을 가져 오는 방법은 현재 없습니다. 있을 경우 여러 속성 값 목록을 반환 할 것이므로 목록을 살펴보고 관심있는 것을 찾으십시오.

"네트워크와 같은 특성이 필요한 사용자 지정 프로세서를 만들 수 있습니다. 보낸 사람 "및 ListenTCP 및 ListenUDP 이후에"tcp.sender "를"network.sender "로,"udp.sender "를"network.sender "로 이름을 바꾼 UpdateAttribute 프로세서가 있습니다.

+0

답변 해 주셔서 감사합니다. 따라서 if를 사용하는 것보다 오버 헤드가 많으므로'if '를 사용하는 것이 더 낫다고 생각합니다. –

관련 문제