I am using the AWS Java SDK provided by Amazon to interact with the S3 service.
By default, the SDK seems to use a virtual host type for buckets (i.e. buckets are represented by bucket -name.s3.amazonaws.com. Example:
PUT / HTTP/1.1 Host: a-given-bucket.s3.amazonaws.com Date: Tue, 26 Jun 2012 10:39:40 GMT Content-Type: application/x-www-form-urlencoded; charset=utf-8 Content-Length: 0
However, I need to use the path style in my application as shown below:
PUT /a-given-bucket/ HTTP/1.1 Host: s3.amazonaws.com Date: Thu, 21 Jun 2012 16:27:32 GMT Content-Type: application/x-www-form-urlencoded; charset=utf-8 Content-Length: 0
Is it possible to use path style with Java SDK please? In the positive case, how can I do this? I look at the ClientConfiguration and AmazonS3Client classes, but I don't see any methods for this ...
My version of the SDK, in case it matters, is: 2.0.0v201206151133.
Thanks!
Fermin
PD. Some headings are omitted for simplicity in the samples.
EDIT: This feature (for customizing the style of the URL used by AmazonS3Client) is very useful if you have buckets with a period (".") In them. HTTPS requests with a virtual host do not work, see this and this .
source share