It depends which processor you are using...

With ListenHttp you can send "filename" as a header.

With HandleHttpRequest all the headers get added as attributes
starting with "http.headers.<header-name>" so if you sent "filename"
as a header you'd have "http.headers.filename" and if you needed to
move it to the filename attribute you could just use an
UpdateAttribute with filename = ${http.headers.filename}
On Thu, Sep 20, 2018 at 10:12 AM Rajesh Biswas
<rajesh.bis...@bridgera.com> wrote:
>
> Bryan,
> I mean the file extension is lost.
>
> Thanks and Regards,
> Rajesh Biswas | +91 9886433461 | www.bridgera.com
>
>
> -----Original Message-----
> From: Bryan Bende [mailto:bbe...@gmail.com]
> Sent: Thursday, September 20, 2018 7:08 PM
> To: dev@nifi.apache.org
> Subject: Re: Suggestion required HTTP and S3
>
> Hello,
>
> I'm not sure what you mean by "upload the actual image file" ?
>
> A flow file is made up of attributes and content, and the content is
> just bytes which can be anything.
>
> If you make a POST to an end-point provided by ListenHTTP or
> HandleHttpRequest, and you send the image in the body of the POST,
> then the image will be the content of the flow file.
>
> I haven't used any S3 processors so I can't explain that behavior.
>
> -Bryan
>
> On Thu, Sep 20, 2018 at 8:00 AM Rajesh Biswas
> <rajesh.bis...@bridgera.com> wrote:
> >
> > Hello Bryan,
> > We started implanting the requirement based on your suggestion, but we 
> > faced below issues:
> >
> > 1. Can we upload the actual image file instead of the flow-file that nifi 
> > creates?
> > (It is more like, can we convert the flow-file into its original format. 
> > i.e. jpg, jpeg,png etc)
> > 2. Every time I try to make a upload request to S3 bucket, its making 2 
> > requests simultaneously,  i.e 2 request for 1 image.
> >
> > Thanks and Regards,
> > Rajesh Biswas | +91 9886433461 | www.bridgera.com
> >
> >
> > -----Original Message-----
> > From: Bryan Bende [mailto:bbe...@gmail.com]
> > Sent: Tuesday, September 11, 2018 7:34 PM
> > To: dev@nifi.apache.org
> > Subject: Re: Suggestion required HTTP and S3
> >
> > I think the existing processors such as HandleHttpRequest can be used.
> > The body of the POST will become the flow file content, and the
> > headers will become flow file attributes.
> >
> > After HandleHttpRequest you can use RouteOnAttribute to make a
> > decision based on one of the headers (flow file attributes).
> >
> > If it makes your criteria then you send it to a PutS3Object processor
> > to write the flow file contents to S3.
> >
> > The success relationship of PutS3Object will have the flow file with
> > new attributes added for s3.bucket, s3.key, etc, which may be enough
> > for you to construct the URL.
> >
> > You could then use ReplaceText to overwrite the content of the flow
> > with some dynamic expression like ${host}/${s3.bucket}/${s3.key} (or
> > whatever the URL is).
> >
> > Then send to PublishKafka.
> >
> > Thanks,
> >
> > Bryan
> >
> >
> > On Tue, Sep 11, 2018 at 9:55 AM, Rajesh Biswas
> > <rajesh.bis...@bridgera.com> wrote:
> > > Dear Experts,
> > >
> > > I need your suggestion to design a requirement for my current project.
> > >
> > > I would like to listen for HTTP post request thru NiFi which will have 
> > > image
> > > file attached.
> > >
> > > I need to 1st extract the HTTP header information (to understand the type 
> > > of
> > > request), extract the image file and store the image file to S3 storage.
> > >
> > > Would you please suggest if I require to write any custom processor or
> > > existing Processors are sufficient.
> > >
> > > Also I would like to pass the file URL in S3 to a Kafka queue, would you
> > > please suggest what is the best way to get the S3 URL.
> > >
> > >
> > >
> > > Thanks and Regards,
> > >
> > > Rajesh Biswas | +91 9886433461 |  <http://www.bridgera.com/>
> > > www.bridgera.com
> > >
> > >
> > >
> > >
> > >
> > > ---
> > > This email has been checked for viruses by Avast antivirus software.
> > > https://www.avast.com/antivirus
> >
>

Reply via email to