2017-12-03 35 views
0

こんにちは、 私はGetSNMPプロセッサを使って無線機を接続しています。 NiFiのドキュメントに従って、この情報はフローファイルの属性に書き込まれ、ファイルの内容は流れません。だから、私はAttributesToJSONプロセッサを使用しました。その後、これらの属性をファイルに書き込むためにPutFileプロセッサを使用しました。ファイルは生成されますが、そこに書き込まれる属性はありません。各ファイルには「{}」のみが書き込まれます。 LogAttributeプロセッサを使用すると、ログファイル内のすべての属性を見ることができますが、それらを別々のファイルに入れたいと思います。 ご案内ください。Apache NiFiのファイルに属性を書き込む

おかげで、

答えて

1

SGaur、

PUTFILEプロセッサは、それがローカルディレクトリに空の内容を書き込みます前に入ってくるフローファイルの内容が空の場合。

したがって、ReplaceTextを使用してフローファイルのコンテンツに属性を書き込む必要があります。例えば、あなたが、これは

${filename}-->input.1, ${input.content.1}-->content.1, ${input.content.2}-->content.2

のような属性を持つことはPUTFILE前

が来ます。

今、あなたは、以下のようなフローファイルの内容にそれらの属性を記述する必要のreplaceTextで

、ちょうどこのようになり、交換価値に言及 - 。>

${filename},${input.content.1},${input.content.2} 

それは以下のような内容に置き換えられます。

input.1,content.1,content.2 

これで、putファイルプロセッサを使用してローカルファイルに書き込みます。

ご希望の場合はこちらをご覧ください。

+0

こんにちはMahendra、ありがとうございました。それは本当に働いた。 – SGaur

+0

これはupvotに受け入れてください/これは誰かに役立つかもしれないanswer.Itに受け入れてください。 –

+0

こんにちはMahendra、もう1つのクエリ。 「Replacement Value」の正規表現を使用して属性にアクセスできますか?私はSNMPGetを使ってラジオからすべての属性に "snmp $"という接頭辞を付けます。したがって、各属性を "ReplaceText"プロセッサに入れるのではなく、$ {'snmp $ *'}のようなものを使ってそれらのすべてにアクセスできますか?ご案内ください。 – SGaur

関連する問題