2017-01-30 26 views
0

FlowFileのgetAttributeでどのようにパターンを使用できますか?NiFiのgetAttributeでパターンを使用する

ListenTCPプロセッサとListenUDPプロセッサからフローファイルを受け取るプロセッサを作成します。 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を使うよりもオーバーヘッドが多いので、 'if'を使うほうが良いと思います。 –

関連する問題