Hello, I'd like to use S3's server side encryption to feature when I
put the blob on S3
(http://docs.aws.amazon.com/AmazonS3/latest/dev/SSEUsingRESTAPI.html). Is
there a way to set some type of encryption flag when I put the blob
onto S3 with the BlobStore APIs? Or possibly atttach the
appropriate header to the request?
I should start off by saying that I'm not the S3 expert here ;-) But
looking at the S3Object interface, it may be possible to:
1) Get the S3Client API from your context [1]
2) Create a new S3Object [2]
3) Update the headers on the S3Object using getAllHeaders/setAllHeaders [3]
4) PUT the S3Object [4]
This does not use the portable BlobStore API, though - I can't see an
obvious way this would be supported there. That doesn't seem too
unreasonable, though, seeing as this is a provider-specific feature.
If you get a chance to try the above steps out, please let us know if
they work for you!
ap
[1] https://wiki.apache.org/jclouds/Core%20Concepts - see "You can use
API-specific calls where needed"
[2]
http://javadocs.jclouds.cloudbees.net/org/jclouds/s3/S3Client.html#newS3Object()
[3]
http://javadocs.jclouds.cloudbees.net/org/jclouds/s3/domain/S3Object.html#setAllHeaders(com.google.common.collect.Multimap)
[4]
http://javadocs.jclouds.cloudbees.net/org/jclouds/s3/S3Client.html#putObject(java.lang.String, org.jclouds.s3.domain.S3Object,
org.jclouds.s3.options.PutObjectOptions...)