2011-10-28 46 views
30

Tôi đang gặp một số sự cố khi tìm cách truy cập tệp từ Amazon S3. Cho phép nói rằng xô rằng file đang sống tại là BUCKET_NAME, các tập tin là FILE_NAME, vv Tôi đã cố gắng hai url sau:Url để lấy tệp từ Amazon S3

https://s3.amazonaws.com/BUCKET_NAME/FILE_NAME/ 
?Expires=EXPIRATION 
&Signature=SIGNATURE 
&SignatureVersion=2 
&SignatureMethod=HmacSHA1 
&AWSAccessKeyId=KEYID 

Nhưng điều này mang lại cho tôi những lỗi sau: NoSuchKey Chìa khóa quy định không không tồn tại.

và tôi cũng đã cố gắng

https://s3.amazonaws.com/BUCKET_NAME/ 
?Key=FILE_NAME 
&Expires=EXPIRATION 
&Signature=SIGNATURE 
&SignatureVersion=2 
&SignatureMethod=HmacSHA1 
&AWSAccessKeyId=KEYID 

nhưng điều này trả về một trang web với một danh sách tất cả các file trong xô nhất định (bao gồm cả FILE_NAME), thay vì các tập tin cụ thể tôi muốn. Tôi cũng đã cố gắng ném vào "Hành động = GetObject" vào url là tốt nhưng điều đó dường như không thay đổi bất cứ điều gì.

Sẽ hữu ích khi tìm ra (nếu có) là phương pháp thích hợp và những gì tôi đang làm sai. Tôi đã đào bới tài liệu amazon trong một thời gian nhưng tôi dường như không thể phân loại nó ra.

Cảm ơn.

+0

cho các lập trình viên tìm kiếm . tôi nghĩ rằng tôi sẽ thêm http://docs.aws.amazon.com/AmazonS3/latest/dev/ShareObjectPreSignedURL.html – dibble

Trả lời

44

của nó thực sự xây dựng hơn như:

https://<bucket-name>.s3.amazonaws.com/<key> 

Xem here

+0

Cảm ơn bạn đã phản hồi. Tôi cũng đã thử cách mà bạn đề cập, nhưng với cùng một kết quả. – user1018928

+0

@ user1018928 Đây có phải là một nhóm được phiên bản không? Cũng cần xem xét là nếu khóa bị xóa. – stevebot

17

Có lẽ không phải những gì OP là sau đó, nhưng đối với những tìm kiếm trên URL để chỉ cần truy cập một đối tượng có thể đọc được trên S3 là giống như:

https://<region>.amazonaws.com/<bucket-name>/<key>

đâu <region> là một cái gì đó giống như s3-ap-southeast-2.

Nhấp vào mục trong GUI S3 để nhận liên kết cho nhóm của bạn.

15

Tài liệu here và tôi sẽ sử dụng vùng Frankfurt làm ví dụ.

2 phong cách URL khác nhau:

Nhưng url này không làm việc:

Thông điệp là rõ ràng: The bucket you are attempting to access must be addressed using the specified endpoint. Please send all future requests to this endpoint.

tôi có thể nói về một vấn đề khác vì tôi không nhận được NoSuchKey lỗi nhưng tôi nghi ngờ được thông báo lỗi đã được thực hiện rõ ràng hơn theo thời gian ...