具有 Java API 的 Amazon S3 和 Cloudfront

发布于 2024-11-18 06:10:01 字数 665 浏览 1 评论 0原文

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

INFO: Sending Request: GET https://mybucket.s3.amazonaws.com /picture.jpg 标头:(范围:字节=5001-1049479, Content-Type: application/x-www-form-urlencoded; charset=utf-8, )

而在 Cloudfront 入门指南中,URL 应为:

http://(domain name)/picture.jpg

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

是否有使用用于 S3 的 Java API 下载如果没有,我应该使用什么方法在我的java程序中通过cloudfront获取对象?我对这个东西还是有点陌生​​,非常感谢!

I am currently using S3 with the Java API to get objects and their content. I've created a Cloudfront distribution using the AWS console and I set my S3 bucket with my objects as the Bucket-origin. But I didn't notice any improvement in the download performance, and I noticed in the console window the url refers to s3:

INFO: Sending Request: GET https://mybucket.s3.amazonaws.com /picture.jpg Headers: (Range: bytes=5001-1049479, Content-Type: application/x-www-form-urlencoded; charset=utf-8, )

whereas in the Getting Started guide for Cloudfront, the url should be:

http://(domain name)/picture.jpg

where (domain name) is specific to the Cloudfront distribution. So the Java API still is getting the file from S3 and not through cloudfront

Is there anyway using the Java API for S3 to download files via Cloudfront? If not, what's the best approach I should use to get objects via cloudfront in my java program? I am still kinda new to this stuff, any help greatly appreciated!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

紫轩蝶泪 2024-11-25 06:10:01

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

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

JAVA API for S3 can not be used for interacting with Cloudfront.

If you want to download the content through cloud front distribution, you have to write your own HTTP code (which should be simple). You can also just use http://(cloud front domain name)/picture.jpg in browser and check the download speed first.

何必那么矫情 2024-11-25 06:10:01
URL url = new URL(your_cloudfront_url);
InputStream in = url.openStream();

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

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

But, you should know that it can take 24 hours or more for changes in S3 to be active.
If you cannot open the stream, the other way is to use getObject(bucketName, key) method.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文