@jqZJO73rWyVIEzOOの技術ブログ

何ができるか

  1. 所謂 OR 判定
  2. 所謂 AND 判定

どんな時に使うか

フローを分岐させたい時など。
RouteOnAttribute とほぼ用途は同じで、違うのはこちらは対象が Content であること。

どう設定するか

[Match Requirement] という項目を変えることにより前述した2つのパターンを選択できる。
パターンは以下の通り
content must contain match:AND 判定
content must match exactly:OR 判定

プロパティタブ画面、右上の+マークをクリックすると分岐名→条件式の順で入力ができる。
条件式は以下の URL のものを使用する。
Apache NiFi Expression Language Guide
また正規表現の使用が可能。

他の条件は以下。
Character Set:
Content をエンコードした際の文字コードを指定する。デフォルトで utf8 が格納されているので特に気にしなければそのままで良い。
Content Buffer Size:
Content を正規表現によりバリデーションを行う際に一時バッファーに格納する際の最大サイズ。
説明文には「FlowFileのサイズがこの値を超える場合、この値の量は無視されます。」とあるが、これがよくわからない。無視するというのは指定するサイズを超えて格納してくれるということなのか、それとも処理に失敗するという扱いなのか?

わからないこと

前述したバッファーサイズに関することはよくわからない。
まあそもそもこのプロセッサ自体あまり使わないんだよなぁ。
xml や json の場合は欲しい情報だけ Attribute に格納してから RouteOnAttribute に格納すればいいので…。
ボディにパラメータをそのまま格納する場合くらいか。

以前書いたものと似たような説明になるので多少省略しようかなと思ったものの、ここから見ている人もいるかもしれないしなーと。
一々リンク飛ばして移動してもらうのも手間だし、同じことの繰り返しになってはしまうけども、書いていこうと思います。
用語に関しては…関連する記事を見てくだせえ。さすがにキリがぬぇ…

このログへのコメント

コメントはありません