我目前正在使用带有Java API的S3来获取对象及其内容。我已经使用AWS控制台创建了一个Cloudfront分发版,并将我的S3存储桶和对象设置为Bucket-origin。但我没有注意到下载性能有任何改进,而且我注意到控制台窗口中的url引用了s3:
信息:发送请求:获取https://mybucket.s3.amazonaws.com /picture.jpg Headers:(范围:字节=5001-1049479,内容类型:应用程序/x-www-form-urlencoded;字符集=utf-8,)
而在Cloudfront入门指南中,url应该是:
http://(domain/picture.jpg
其中(域名)特定于Cloudfront分发。所以Java API仍然是从S3获取文件,而不是通过cloudfront
有没有使用Java API for S3通过Cloudfront下载文件?如果不是,那么在java程序中通过cloudfront获取对象的最佳方法是什么?我对这个东西还有点陌生,非常感谢大家的帮助!
发布于 2012-04-14 17:27:29
JAVA API for S3不能用于与Cloudfront进行交互。
如果您想要通过云前端分发下载内容,您必须编写自己的HTTP代码(应该很简单)。你也可以只在浏览器中使用http://(cloud/picture.jpg,然后先检查下载速度。
发布于 2012-09-21 18:27:40
URL url = new URL(your_cloudfront_url);
InputStream in = url.openStream();但是,您应该知道,S3中的更改可能需要24小时或更长时间才能生效。如果无法打开流,另一种方法是使用getObject(bucketName, key)方法。
https://stackoverflow.com/questions/6551623
复制相似问题