2011-11-02 110 views
26

我有一個場景,我們有許多客戶端上傳到S3。新S3對象的通知

  • 知道有新文件的最佳方法是什麼?
  • 這是現實/好主意,對我來說,幾秒鐘內輪詢桶?

回答

25

UPDATE:

自2014年11月,S3支持以下事件通知:

  • s3:ObjectCreated:Put - 一個對象是由一個HTTP PUT操作創建的。
  • s3:ObjectCreated:Post - 一個對象是由HTTP POST操作創建的。
  • s3:ObjectCreated:Copy - 一個對象被創建了S3複製操作。
  • s3:ObjectCreated:CompleteMultipartUpload - 一個對象是由完成S3多部分上載創建的。
  • s3:ObjectCreated:* - 一個對象是由上面列出的事件類型之一創建的,或者是由將來添加的類似對象創建事件創建的。
  • s3:ReducedRedundancyObjectLost - 存儲有Reduced Redundancy的S3對象已丟失。

這些通知可以頒發給Amazon SNSSQS或。請查看Alan's answer中鏈接的博文,瞭解有關這些新通知的更多信息。

原來的答案:

雖然亞馬遜S3有一個水桶通知系統在地方它不支持通知的任何東西,但S3:ReducedRedundancyLostObject事件(見GET桶通知部分的API中)。

目前檢查新對象的唯一方法是輪詢桶在預設的時間間隔或建立在上傳客戶端(可能是基於亞馬遜SNS)自己的通知邏輯。

0

你最好的選擇時下正在使用AWS LAMBDA服務。您可以使用node.js javascript,java或Python編寫Lambda(可能會更多地添加更多選項)。 lambda服務允許您編寫響應來自S3的事件(如文件上載)的函數。經濟高效,可擴展且易於使用。