You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@nifi.apache.org by "Nissim Shiman (Jira)" <ji...@apache.org> on 2022/07/27 16:24:00 UTC

[jira] [Updated] (NIFI-10287) ExecuteScript processor not supporting Module Directory for python

     [ https://issues.apache.org/jira/browse/NIFI-10287?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Nissim Shiman updated NIFI-10287:
---------------------------------
    Description: 
The ExecuteScript processor currently does not support pointing to python modules.

The Module Directory property is unable to find/process modules it is set to. See below [1] for example

Also, if Module Directory property is set to /usr/lib/python<version number> (or wherever python packages are installed) the processor will AdminYield when flowfile passes through.




[1] Set processor properties:
_Script Engine_ to python
_Script Body_ to
{code:java}
flowFile = session.get()
flowFile = session.putAttribute(flowFile,"helloKey",hello.hello())
session.transfer(flowFile, REL_SUCCESS)
{code}
_Module Directory_  to /tmp/testModule

where /tmp/testModule has a file in it named hello.py 
with the code
{code:java}
def hello():
  return "hello"
{code}
and pass a flowfile through.

The processor will roll back the session saying `hello` is not defined

  was:
The ExecuteScript processor currently does not support pointing to python modules.

The Module Directory property is unable to find modules it is set to. So for example

when Script Engine is set to python
and Script Body is set to:
{code:java}
flowFile = session.get()
flowFile = session.putAttribute(flowFile,"helloKey",hello.hello())
session.transfer(flowFile, REL_SUCCESS)
{code}
and Module Directory is set to /tmp/testModule

and /tmp/testModule has a file in it named hello.py 
with the code
{code:java}
def hello():
  return "hello"
{code}
the processor roll back the session saying it cannot find the hello module

Also, if Module Directory property is set to /usr/lib/python<version number> (or wherever python packages are installed) the processor will AdminYield when flowfile passes through.


> ExecuteScript processor not supporting Module Directory for python
> ------------------------------------------------------------------
>
>                 Key: NIFI-10287
>                 URL: https://issues.apache.org/jira/browse/NIFI-10287
>             Project: Apache NiFi
>          Issue Type: Bug
>            Reporter: Nissim Shiman
>            Assignee: Nissim Shiman
>            Priority: Major
>
> The ExecuteScript processor currently does not support pointing to python modules.
> The Module Directory property is unable to find/process modules it is set to. See below [1] for example
> Also, if Module Directory property is set to /usr/lib/python<version number> (or wherever python packages are installed) the processor will AdminYield when flowfile passes through.
> [1] Set processor properties:
> _Script Engine_ to python
> _Script Body_ to
> {code:java}
> flowFile = session.get()
> flowFile = session.putAttribute(flowFile,"helloKey",hello.hello())
> session.transfer(flowFile, REL_SUCCESS)
> {code}
> _Module Directory_  to /tmp/testModule
> where /tmp/testModule has a file in it named hello.py 
> with the code
> {code:java}
> def hello():
>   return "hello"
> {code}
> and pass a flowfile through.
> The processor will roll back the session saying `hello` is not defined



--
This message was sent by Atlassian Jira
(v8.20.10#820010)