2011-11-02 7 views
26

Tôi có một kịch bản mà chúng tôi có nhiều khách hàng tải lên s3.Thông báo về các đối tượng S3 mới

  • Cách tiếp cận tốt nhất để biết rằng có tệp mới là gì?
  • Có thực tế/ý tưởng hay không, để tôi thăm dò ý kiến ​​của thùng trong vài giây?

Trả lời

25

UPDATE:

Kể từ tháng 11 năm 2014, S3 hỗ trợ các thông báo sự kiện sau đây:

  • s3:ObjectCreated:Put - Một đối tượng được tạo ra bởi một hoạt động HTTP PUT.
  • s3:ObjectCreated:Post - Một đối tượng được tạo bằng thao tác HTTP POST.
  • s3:ObjectCreated:Copy - Một đối tượng đã được tạo một thao tác sao chép S3.
  • s3:ObjectCreated:CompleteMultipartUpload - Một đối tượng được tạo bằng cách hoàn tất tải lên nhiều phần S3.
  • s3:ObjectCreated:* - Một đối tượng được tạo bởi một trong các loại sự kiện được liệt kê ở trên hoặc bởi một sự kiện tạo đối tượng tương tự được thêm vào trong tương lai.
  • s3:ReducedRedundancyObjectLost - Đối tượng S3 được lưu trữ với Reduced Redundancy đã bị mất.

Các thông báo này có thể được cấp cho Amazon SNS, SQS hoặc . Hãy xem bài đăng trên blog được liên kết trong Alan's answer để biết thêm thông tin về các thông báo mới này.

gốc trả lời:

Mặc dù Amazon S3 có một hệ thống thông báo xô tại chỗ nó không hỗ trợ thông báo cho bất cứ điều gì nhưng s3: sự kiện ReducedRedundancyLostObject (xem GET phần thông báo Bucket trong API của họ).

Hiện tại cách duy nhất để kiểm tra đối tượng mới là thăm dò ý kiến ​​của nhóm tại một khoảng thời gian định trước hoặc xây dựng logic thông báo của riêng bạn trong ứng dụng tải lên (có thể dựa trên Amazon SNS).

11

thông báo Đẩy hiện nay được xây dựng vào S3:

http://aws.amazon.com/blogs/aws/s3-event-notification/

Bạn có thể gửi thông báo cho SQS hay SNS khi một đối tượng được tạo ra thông qua PUT hoặc POST hoặc tải lên đa phần là kết thúc.

0

Tùy chọn tốt nhất của bạn hiện nay đang sử dụng dịch vụ AWS Lambda. Bạn có thể viết một Lambda bằng cách sử dụng javascript node.js, java hoặc Python (có thể nhiều tùy chọn hơn sẽ được thêm vào đúng thời gian). Dịch vụ lambda cho phép bạn viết các hàm đáp ứng các sự kiện từ S3 chẳng hạn như tải lên tệp. Chi phí hiệu quả, khả năng mở rộng và dễ sử dụng.