AttributeToJSON

公開日:2018-12-27
最終更新:2018-12-27

何ができるか

Attribute の値を Json 形式に変換する。
変換したあとの値は以下の2点に変えられる。
・Attribute
・Content

どんな時に使うか

NiFi 内で操作を行った Attribute を元にレスポンスだったり、API を叩く時などに Json 形式のデータを生成したい時に使う。

どう設定するか

変換するだけなら以下の一点のみで問題ない。
Attributes List:Json 形式に変換したい Attribute 変数名を入力する。複数存在する場合はカンマ区切りで入力を行う。
例:hogehoge,higehige,poi
上記からできる Json は以下。
{
"hogehoge":"[value]",
"higehige":"[value]",
"poi":"[value]"
}

他のプロパティは以下の通り。
Attributes Regular Expression
正規表現で Attribute を指定することができる。
Destination
以下の2項目がある。
・flowfile-attribute
・flowfile-content
文字通り、Json 形式に変換後、Attribute に入れるか content に入れるか。
Include Core Attributes
自然に生成される Attribute を Json 値に含めるかどうか。uuid,filename,path 等。
Null Value
指定した Attribute が Null だった場合、Json データには何を含めるか。true ならそのまま含めるし、false の場合は代わりに空文字が代入される。

わからないこと

…と、思っていたけども、なんかローカルで試したらうまくいかず。
→色々試したところ、経緯は以下。

  1. 確認のためプロセスを作る。とりあえず直前に格納した Attribute を全て格納するように Attribute List に設定する。
  2. Attributes Regular Expression の確認を行うために全ての文字を取得できるよう入力し、全 Attribute が取得されていることを確認。ついでにInclude Core Attributes を true にすると uuid なども取れていることを確認。
  3. その後正規表現を消し、再度 Attribute List を設定し直すも②のときの結果が帰ってくる。
  4. プロセッサを作り直し、違う結果になるよう Attribute List を設定し直すと問題なく期待結果が帰ってきた。

要は一度 Attributes Regular Expression に設定した内容が残り続けていた…?

現場で使っているときはなんらおかしいことは起きなかったが…ちょっと現場の PC でも試してみるか…

割と頻繁に使うことになるプロセッサかと。
Json を成形したい場合は後日各予定の JoltTransformJSON を参照のこと。

@jqZJO73rWyVIEzOOの技術ブログ

このログについているタグ

Nifi

0件のコメント

ブログ開設 or ログイン してコメントを送ってみよう

技術ブログ開設

ここから先はアカウント(ブログ)開設が必要です

英数字4文字以上
.qrunch.io
英数字6文字以上
ログインする