Created on
02-05-2020
10:28 PM
- last edited on
02-06-2020
12:58 AM
by
VidyaSargur
Unlike ExecuteScript processor, the ExecuteStreamCommand does not have 'Script Body' attribute that gets passed during execution. Is there is any workaround where we can pass program as a string? I tried with command 'Python -c .. '. But no luck 😞
#ExecuteStreamCommand #ScriptBody #ScriptBodyAttribute
Created 02-05-2020 11:01 PM
Just to confirm .. you want to pass a Python program file name to the "ExecuteStreamCommand" Processor?
ExecuteStreamCommand Properties.
Command Arguments: /Jay/NifiDemo/test_python.py
Command Path: /bin/python
Argument Delimiter: ;
I tried with the above approach and i can see the script is getting executed fine.
Is that something what you are looking out for?
.
Created 02-06-2020 12:27 AM
Thanks for the response @jsensharma
I do not want point to a python script file and invoke the interpreter.
I have scenario where python code is present in flowfile attribute or a variable and want to run it in ExecuteStreamCommand processor. I can not use ExecuteScript processor because it invokes Jython based interpreter. Am using ExecuteStreamCommand processor as I want to explicitly invoke Python 3.5 interpreter.
If there is no workaround, What is standard way for having script location. Placing the script file in NiFi server might be risk because other users might accidentally modify/delete it. How to avoid it?