camel-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Artur Jablonski <ajablon...@ravenpack.com>
Subject Re: aws-s3, get a single object
Date Tue, 20 Jun 2017 07:55:57 GMT
Thank you so much Gregor!

You pushed me in the right direction. I initially wrote a patch for S3
producer to get me what I wanted, but after seeing your reply I read about
the content enricher pattern and pollEnrich() in Camel.

This SO was helpful as well
https://stackoverflow.com/questions/36948005/how-do-dynamic-from-endpoints-and-exchanges-work-in-camel

In the end, with this route:

from("direct:pollEnrich").routeId("pollEnrich")
                            .pollEnrich()

.simple("aws-s3://{{buckets.mybucket}}?amazonS3Client=#amazonS3Client&deleteAfterRead=false&fileName=${in.header.CamelAwsS3Key}")
                            .convertBodyTo(byte[].class)
                            .to("bean:unmarshall")


I can now poke the route and set the CamelAWSS3Key header to the file I
want.

Cheerio!
Artur


On Mon, Jun 19, 2017 at 10:43 PM, Gregor Zurowski <gregor@list.zurowski.org>
wrote:

> Hi Artur,
>
> You should be able to get a single S3 object with the camel-aws
> component using the "fileName" query parameter on the consumer.  See
> the documentation at
> https://github.com/apache/camel/blob/master/components/
> camel-aws/src/main/docs/aws-s3-component.adoc.
>
> Gregor
>
> On Mon, Jun 19, 2017 at 5:28 PM, Artur Jablonski
> <ajablonski@ravenpack.com> wrote:
> > Hello,
> >
> > I am trying to get a single object from S3 via Camel and I am not sure
> how
> > to do this.
> >
> > It seems that the producer endpoint can only upload to S3 and the
> consumer
> > endpoint can poll a bucket, but how can express a use case of retrieving
> a
> > single S3 object when I know it's key?
> >
> > Best
> > Artur
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message