2012-04-27 60 views
4

可能重複:
Notification of new S3 objects
Get notified when user uploads to an S3 bucket?如何檢測Amazon S3中的更改?

什麼是檢測亞馬遜S3變化的最有效的方法?許多分佈式盒子需要將本地文件與S3同步。每個盒子需要與S3桶的一部分同步。有時候,文件會從外部來源放入一個桶中,因此這些框不會知道它。

我可以編寫一個腳本,不斷檢索S3上的所有文件,並在發生更改時通知相應的框,但這會很慢並且代價很高。 (將有數百萬個文件)。我想過在存儲桶上啓用日誌記錄,但日誌需要很長時間才能寫入,而且我希望能夠很快得到有關更改的通知。

還有其他想法嗎?

+6

加入我們的其他人,請求Amazon在S3存儲桶中的密鑰更改時添加SNS通知。他們確實傾聽客戶的意見,如果足夠多的人大聲喊叫...... – 2012-04-27 23:47:23

+1

因此,您訪問S3存儲區的權限不受您的代碼控制?任何人都可以使用任何客戶端將文件放到任何地方我會首先解決... – GalacticJello 2012-04-28 05:31:34

回答

0

亞馬遜提供通知存儲桶事件的方法(如所示here),但目前支持的唯一事件是s3:ReducedRedundancyLostObject

恐怕你今天只能通過輪詢(或爬行,就像你說的)或者修改上傳文件到客戶端的客戶端(如果你在控制中)的代碼),以便在上傳/更改任何東西時通知您的方框。