This is an example of the output file from "handlehttprequest":

"
-----------------------------831805444208556434014280960^M
Content-Disposition: form-data; name="userid"^M
^M
jpl_user^M
-----------------------------831805444208556434014280960^M
Content-Disposition: form-data; name="scripts"; filename="a.py"^M
Content-Type: text/x-python^M
^M
^M
-----------------------------831805444208556434014280960^M
Content-Disposition: form-data; name="scripts"; filename="b.py"^M
Content-Type: text/x-python^M
^M
^M
-----------------------------831805444208556434014280960^M
Content-Disposition: form-data; name="scripts"; filename="conf.json"^M
Content-Type: application/json^M
^M
{
"userid":"jpl_user_1",
"scripts":["a.py","b.py"]
}
^M
-----------------------------831805444208556434014280960--^M
"

Can I extract different components of this file without script at server
side?

Regards

On Mon, Feb 27, 2017 at 10:52 AM, Andy LoPresto <[email protected]>
wrote:

> Mohammed,
>
> So from what I understand you have a separate web application which
> accepts a variety of data (a combination of form fields and file uploads)
> and submits that (I’m assuming via POST) to NiFi. I’m not sure what problem
> you had extracting these “components” from the output flowfile from the
> HandleHTTPRequest processor. Can you change your web interface to send
> separate POST requests to NiFi and logically separate these components from
> the beginning? Can you modify the format of the request (i.e. make it JSON,
> etc.) so it is properly structured for NiFi to parse and operate on this
> data?
>
> NiFi treats the content of the flowfile the same once it is in the system
> regardless of the source processor, so you should be able to split,
> extract, or manipulate the contents of a single flowfile containing
> multiple form elements and file bodies.
>
> If you are referencing NiFi’s Input Port components as a destination for
> an arbitrary HTTP request, this will not work. The input ports are designed
> to work with NiFi’s Site to Site protocol (either over raw sockets or
> HTTP(S)).
>
>
> Andy LoPresto
> [email protected]
> *[email protected] <[email protected]>*
> PGP Fingerprint: 70EC B3E5 98A6 5A3F D3C4  BACE 3C6E F65B 2F7D EF69
>
> On Feb 27, 2017, at 11:09 AM, mohammed shambakey <[email protected]>
> wrote:
>
> Thanks Andy
>
> I have a user web interface that send some form information (e.g., user
> id), as well as upload multiple files, to a remote NIFI instance. When
> using "handlhttprequest" processor, it results in a single file that
> contains "form inputs" and bodies of uploaded files.
>
> I want to extract individual components of this file (i.e., download all
> uploaded files and extract other form information (e.g., userid) in a JSON
> or other text file. I had a similar problem before and I learnt that
> "httphandlerequest" has a problem to extract individual compoents from, so
> I have to write my own scripts to extract these components (form inputs and
> uploaded files).
>
> As NIFI input ports does not face this problem of "handlehttprequest", I
> though if I can send form inputs and upload files directly to "NIFI input
> port" at remote site, then I don't have to write my own scripts to extract
> individual components.
>
> Regards
>
> On Mon, Feb 27, 2017 at 10:02 AM, Andy LoPresto <[email protected]>
> wrote:
>
>> Mohammed,
>>
>> I’m not sure I understand your question. NiFi has a REST API which
>> supports the UI and allows scripts/other applications to make requests of
>> the platform. This runs on the input port specified in nifi.properties.
>>
>> If you want to submit form data and uploaded files as data to be ingested
>> by NiFi, HandleHTTPRequest or (less likely) ListenHTTP are the processors
>> you would want to use.
>>
>> If you can clarify your use case, we should be able to offer more
>> assistance.
>>
>> Andy LoPresto
>> [email protected]
>> *[email protected] <[email protected]>*
>> PGP Fingerprint: 70EC B3E5 98A6 5A3F D3C4  BACE 3C6E F65B 2F7D EF69
>>
>> On Feb 27, 2017, at 9:15 AM, mohammed shambakey <[email protected]>
>> wrote:
>>
>> Hi
>>
>> Is it possible to send http request (including form data and uploaded
>> files) to NIFI input port instead of "HandleHTTPRequest" processor?
>>
>> Regards
>>
>> --
>> Mohammed
>>
>>
>>
>
>
> --
> Mohammed
>
>
>


-- 
Mohammed

Reply via email to