【发布时间】:2012-06-29 00:54:07
【问题描述】:
我正在使用 Amazon 提供的AWS Java SDK 与 S3 服务进行交互。
似乎默认情况下,SDK 对存储桶使用虚拟主机样式(即存储桶由 bucket-name.s3.amazonaws.com 引用。示例:
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
但是,我需要在我的应用程序中使用路径样式,如下所示:
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
请问可以在 Java SDK 中使用路径样式吗?在积极的情况下,我该怎么做?我查看了 ClientConfiguration 和 AmazonS3Client 类,但我没有看到任何方法来做到这一点......
如果重要的话,我的 SDK 版本是:2.0.0v201206151133。
谢谢!
费尔明
PD。为简单起见,示例中省略了一些标题。
编辑: 这样的功能(用于配置 AmazonS3Client 使用的 URL 路径样式)在您有带有点(“.”)的存储桶的情况下非常有用。使用虚拟主机样式的 HTTPS 请求不起作用,请参阅 this 和 this。
【问题讨论】:
-
也发表在 AWS 开发者论坛:forums.aws.amazon.com/thread.jspa?threadID=98203
标签: java amazon-s3 amazon-web-services