Amazon S3和Cloudfront的Java API

5
我目前正在使用Java API与S3一起获取对象及其内容。我使用AWS控制台创建了一个Cloudfront分发,并将我的S3桶设置为Bucket-origin。但我没有注意到下载性能的任何改进,我注意到在控制台窗口中,url引用了s3:
INFO: 发送请求:GET https://mybucket.s3.amazonaws.com /picture.jpg Headers: (Range: bytes=5001-1049479, Content-Type: application/x-www-form-urlencoded; charset=utf-8, )
而在Cloudfront的入门指南中,url应该是: http://(domain name)/picture.jpg 其中(domain name)是特定于Cloudfront分发的。因此,Java API仍在从S3获取文件,而不是通过cloudfront。
有没有办法使用S3的Java API通过Cloudfront下载文件?如果没有,我应该如何最好地通过我的java程序通过cloudfront获取对象?我还是新手,非常感谢任何帮助!
2个回答

2

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

如果您想通过Cloudfront分发下载内容,您需要编写自己的HTTP代码(这应该很简单)。您也可以在浏览器中直接使用http://(cloud front domain name)/picture.jpg并先检查下载速度。


0
URL url = new URL(your_cloudfront_url);
InputStream in = url.openStream();

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接