-
PutSQL
を停止します プロセッサを使用して、フローファイルをキューに入れます。 - キューに入れたら、
success
を右クリックします
UpdateAttribute
間の関係 およびPutSQL
List Queue
を選択します 。 - 任意の1つのフローファイルを選択し、
Attributes
に移動します タブをクリックして、属性absolute.path
を確認します およびflowfilename
存在し、
存在する場合は、期待値が設定されているかどうかを確認します。あなたの場合、absolute.path
値は/path/in/nifi/node/to/file
である必要があります およびflowfilename
値は/data.csv
である必要があります
質問:UpdateAttribute
を使用してこれらの属性を自分で設定していますか 、理由は、NiFiがflowfilename
という名前の属性を生成しないためです。 、filename
という名前のファイルを生成します 。
もう1つ、absolute.path
のいずれかの値を確認してください /
で終わります 最後に、またはflowfilename
の値 /
で始まります 。そうでない場合は、それらが追加され、結果は/path/in/nifi/node/to/filedata.csv
になります。 。 append
を試すことができます @Mahendraが提案した関数。それ以外の場合は、${absolute.path}/${flowfilename}
を使用できます。 。
更新
absolute.path
に気づきました filename
のようなコア属性です 、filesize
、mime.type
、など。一部のプロセッサはすべてのコア属性を使用しますが、一部のプロセッサは必要なものをほとんど使用しません。 GenerateTableFetch
absolute.path
を書き込みます しかし、それについては何も設定していません。そのため、./
があります これがデフォルト値です。
したがって、作業へのアプローチに関する私の提案は、absolute.path
を手動で設定/上書きできることです。 UpdateAttribute
を使用した属性 (filename
を上書きしたように )そして/path/in/nifi/node/to/file
である希望の値を設定します