Support Questions
Find answers, ask questions, and share your expertise
Announcements
Alert: Welcome to the Unified Cloudera Community. Former HCC members be sure to read and learn how to activate your account here.

NiFi HTTP, unable to format post put request correctly

NiFi HTTP, unable to format post put request correctly

New Contributor

I need to send an HTTP POST or PUT request. The request provides a 1 line json response when sent correctly. I want to capture the response and send it as a get request. I can use this curl command to successfully send the request:

curl http://10.1.10.13/api/tiscale/v1/upload -F file=@/somepath/somefilename

I tried various scenarios with InvokeHttp and HttpPost, but the response comes back as either a 400 BAD REQUEST or 500 SERVER ERROR.

Here is the request I tried last from the app log file.

2018-02-27 15:06:00,536 DEBUG [Timer-Driven Process Thread-1] o.a.nifi.processors.standard.InvokeHTTP InvokeHTTP[id=d25f484f-0161-1000-d92d-c1fe227a25a3] Request to remote service: http://10.1.10.13/api/tiscale/v1/upload date: Tue, 27 Feb 2018 20:06:00 GMT file: =@"/opt/nifi-1.5.0/testfiles/CyberAwarenessChallengeCertificate.pdf"

This request produced a 400 response.

2 REPLIES 2
Highlighted

Re: NiFi HTTP, unable to format post put request correctly

@Regis Thomas

It might not be ideal from a performance perspective, but you could use ExecuteProcess to run a shell script or python script makes the call. I know it doesn't directly address the issue with the processors in question but it might be a viable work around.

Re: NiFi HTTP, unable to format post put request correctly

New Contributor

@Michael Young

Thanks! I was able to get it to work with ExecuteStreamCommand, I was just hoping there would be a way to do it through InvokeHttp.