You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@camel.apache.org by Stan Clowes <st...@gmail.com> on 2016/11/24 13:14:39 UTC
AWS S3 Consumer Bug
Hi
I've had a search through the issues but I think this is still a bug.
When an object is consumed from an AWS S3 endpoint it doesn't retrieve the
userMetadata correctly
The code here:
https://github.com/apache/camel/blob/master/components/camel-aws/src/main/java/org/apache/camel/component/aws/s3/S3Endpoint.java
sets the S3Constants.S3_HEADERS header as so:
message.setHeader(S3Constants.S3_HEADERS, objectMetadata.getRawMetadata());
This is using a method that is internal - see:
http://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/services/s3/model/ObjectMetadata.html
In addition the rawMetadata seems to hold many (if not all) of the other
headers thats are retrieved explicitly e.g. Content-Type, Content-Length
etc; but doesn't hold userMetadata
It should do this:
message.setHeader(S3Constants.S3_HEADERS, objectMetadata.getUserMetadata());
If you want to get the userMetadata from the object.
I have doen some tests with the SDK writing and reading objects with
userMetadata
Thought I would post here before I raise an issue.
Regards
Stan
--
View this message in context: http://camel.465427.n5.nabble.com/AWS-S3-Consumer-Bug-tp5790485.html
Sent from the Camel - Users mailing list archive at Nabble.com.
Re: AWS S3 Consumer Bug
Posted by Claus Ibsen <cl...@gmail.com>.
Hi
Yeah I dont think we should call that internal API. You are welcome to
log a JIRA ticket (issue tracker).
http://camel.apache.org/support.html
Also maybe there is more of those ObjectMetadata we can store by
default as headers than those 10-15 we do today.
Contributions is welcome with a patch / github PR
http://camel.apache.org/contributing
On Thu, Nov 24, 2016 at 2:14 PM, Stan Clowes <st...@gmail.com> wrote:
> Hi
>
> I've had a search through the issues but I think this is still a bug.
> When an object is consumed from an AWS S3 endpoint it doesn't retrieve the
> userMetadata correctly
>
> The code here:
> https://github.com/apache/camel/blob/master/components/camel-aws/src/main/java/org/apache/camel/component/aws/s3/S3Endpoint.java
>
> sets the S3Constants.S3_HEADERS header as so:
>
> message.setHeader(S3Constants.S3_HEADERS, objectMetadata.getRawMetadata());
>
> This is using a method that is internal - see:
> http://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/services/s3/model/ObjectMetadata.html
>
> In addition the rawMetadata seems to hold many (if not all) of the other
> headers thats are retrieved explicitly e.g. Content-Type, Content-Length
> etc; but doesn't hold userMetadata
>
> It should do this:
>
> message.setHeader(S3Constants.S3_HEADERS, objectMetadata.getUserMetadata());
>
> If you want to get the userMetadata from the object.
>
> I have doen some tests with the SDK writing and reading objects with
> userMetadata
>
> Thought I would post here before I raise an issue.
>
> Regards
> Stan
>
>
>
> --
> View this message in context: http://camel.465427.n5.nabble.com/AWS-S3-Consumer-Bug-tp5790485.html
> Sent from the Camel - Users mailing list archive at Nabble.com.
--
Claus Ibsen
-----------------
http://davsclaus.com @davsclaus
Camel in Action 2: https://www.manning.com/ibsen2