以前の質問とこの質問に関連する例を見つけるために最善を尽くし、探している答えがまだ見つからないとき、私は自分で質問を提出することを考えました。
次の理由により、ExecuteStreamCommandは私にとって完璧なプロセッサのように見えます。
一言で言えば、私がExecuteStreamCommandでやろうとしていることは次のとおりです。
python3 my_script.py
)わかりやすくするために、私は現在理解していません。
ExecuteScriptのさまざまな例に出くわしましたが、残念ながら、これらはExecuteStreamCommandの使用に正確に変換されません。
前もって感謝します。任意のアドバイスをいただければ幸いです。
あなたの質問から、Jythonを使用できないため、InvokeScriptedProcessor
またはExecuteScript
プロセッサを使用せずにPythonスクリプトを呼び出す必要があると述べています。その要件を考えると、フレームワークにある程度の知識が必要ですが、この情報はすべて ExecuteStreamCommand
documentation からのものです。
「現在、理解できません」セクション:
pythonスクリプトを呼び出す方法(ExecuteStreamCommandプロセッサから)
ExecuteStreamCommand
プロセッサで、Command ArgumentsおよびCommand Pathプロパティを次のように構成します。
any flags or args, delimited by ;
(つまり、/path/to/my_script.py
)/path/to/python3
Python内からFlowFileをロードする方法
ExecuteStreamCommand
プロセッサの出力ストリーム関係に渡されます。この場合、スクリプトは「フローファイル」を認識する必要はありません。代わりにISP
またはES
プロセッサーでは、スクリプトに自動的に挿入されるNiFiスクリプトAPIを使用して、flowfileオブジェクトを作成または更新できます。0
)NiFiは、その内容で新しいフローファイルを生成します。 ESC
のOutput Destination Attributeプロパティをnull以外の値に設定すると、代わりに、NiFiは既存のフローファイルを同じ名前の新しい属性で更新します。スクリプトの出力。