2016-12-27 9 views
0

ダウンストリームのUpdateAttributesプロセッサにFlowfilesを送信するいくつかのGenerateTableFetchプロセッサがあります。 UpdateAttributesから、Flowfileはは、ExecuteSQLプロセッサに渡されます。キュー属性へのアクセス?

enter image description here

は、キュー内のそのFlowfileの位置でキューをオフに来て、フローファイルに属性を追加する方法はありますか?例えば、GenerateTableFetchの状態をリセット/クリアした後、これがGenerateTableFetchから来るFlowfilesの最初のバッチかどうかを知りたいと思います。私はキュー内のFlowFileの位置を見ることができますが、下流に渡される属性として追加できる方法があります。これは可能ですか?

enter image description here

答えて

1

これは、Apache NiFiで利用できる機能ではありません。キュー内のフローファイルの位置は動的であり、ダウンストリーム処理またはフローファイルの有効期限切れによって、フローファイルがキューから削除されると変更されます。

あなたは単に、その後にFlowFileQueue#isActiveQueueEmpty()を使用して、特定のflowfileが追加される前にキューが空だった場合、この時点であなたの最善の解決策は、REST APIを使用して目的の接続を取得するためにExecuteScriptプロセッサを使用することがおそらくあるかを決定しようとしている場合指定されたキューが現在空であるかどうかを判断し、フローファイルにブール値属性を追加して、 "最初のバッチ"または適用するロジックを指定します。

「バッチ」は実際にはNiFiの概念ではありません。 「最初の」フローファイルで実行したい特定のアクションはありますか?おそらく、別のロジックがあります(つまり、プロセッサがx秒間にフローファイルを操作していないなど)、あなたの望む動作を引き起こす可能性があります。

関連する問題