5

我目前正在使用 S3 和 Java API 来获取对象及其内容。我使用 AWS 控制台创建了一个 Cloudfront 分发,并将我的 S3 存储桶与我的对象设置为存储桶来源。但我没有注意到下载性能有任何改善,我注意到在控制台窗口中 url 引用了 s3:

信息:发送请求:GET https://mybucket.s3.amazonaws.com /picture.jpg 标题:(范围:bytes=5001-1049479,Content-Type:application/x-www-form-urlencoded;charset=utf- 8, )

而在 Cloudfront 的入门指南中,url 应该是:

http://(域名)/picture.jpg

其中(域名)特定于 Cloudfront 发行版。所以 Java API 仍然是从 S3 获取文件,而不是通过 cloudfront

有没有使用 S3 的 Java API 通过 Cloudfront 下载文件?如果不是,在我的 java 程序中通过云端获取对象的最佳方法是什么?我对这些东西还是有点陌生​​,非常感谢任何帮助!

4

2 回答 2

2

S3 的 JAVA API 不能用于与 Cloudfront 交互。

如果要通过云前端分发下载内容,则必须编写自己的HTTP代码(应该很简单)。您也可以在浏览器中直接使用http://(云前端域名)/picture.jpg,先查看下载速度。

于 2012-04-14T09:27:29.390 回答
0
URL url = new URL(your_cloudfront_url);
InputStream in = url.openStream();

但是,您应该知道,S3 中的更改可能需要 24 小时或更长时间才能生效。如果无法打开流,另一种方法是使用getObject(bucketName, key)方法。

于 2012-09-21T10:27:40.057 回答