2011-07-01 47 views
5

Tôi hiện đang sử dụng S3 với API Java để nhận các đối tượng và nội dung của chúng. Tôi đã tạo bản phân phối Cloudfront bằng giao diện điều khiển AWS và tôi đặt nhóm S3 của mình với các đối tượng của mình làm nhóm gốc. Nhưng tôi đã không nhận thấy bất kỳ cải tiến nào về hiệu suất tải xuống và tôi nhận thấy trong cửa sổ bảng điều khiển url đề cập đến s3:Amazon S3 và Cloudfront với Java API

THÔNG TIN: Gửi yêu cầu: GET https://mybucket.s3.amazonaws.com /picture.jpg Tiêu đề: (Phạm vi: byte = 5001- 1049479, Content-type: application/x-www-form-urlencoded; charset = utf-8,)

trong khi hướng dẫn Getting Started cho CloudFront, url nên là:

http://(domain tên)/hình ảnh .jpg

nơi (tên miền) dành riêng cho phân phối trên Đám mây. Vì vậy, API Java vẫn nhận được tệp từ S3 và không thông qua cloudfront

Vẫn còn sử dụng API Java cho S3 để tải tệp xuống qua Cloudfront không? Nếu không, cách tiếp cận tốt nhất tôi nên sử dụng để có được các đối tượng thông qua cloudfront trong chương trình java của tôi là gì? Tôi vẫn còn kinda mới với công cụ này, bất kỳ sự giúp đỡ rất nhiều đánh giá cao!

Trả lời

1

Không thể sử dụng API JAVA cho S3 để tương tác với Cloudfront.

Nếu bạn muốn tải xuống nội dung thông qua phân phối trước đám mây, bạn phải viết mã HTTP của riêng mình (điều này phải đơn giản). Bạn cũng có thể chỉ sử dụng http://(cloud tên miền trước) /picture.jpg trong trình duyệt và kiểm tra tốc độ tải xuống trước tiên.

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

Nhưng, bạn nên biết rằng có thể mất 24 giờ trở lên để các thay đổi trong S3 hoạt động. Nếu bạn không thể mở luồng, cách khác là sử dụng phương pháp getObject(bucketName, key).

Các vấn đề liên quan