2012-01-27 200 views
2

我正在使用knox npm模塊將文件上傳到S3上的存儲桶。它效果很好。我不知道如何做的是如何在一次調用中刪除存儲桶中的所有文件,而不是在此時刪除一個文件?使用nodejs knox從s3存儲桶中刪除所有文件?

任何想法,將有助於...

+1

與nodejs無關,但在S3中,您無法一次刪除所有文件。您必須一次刪除一個文件/對象,因此必須有一個循環才能刪除所有文件/對象。 – rsmoorthy 2012-01-27 17:18:59

+0

@rsmoorthy:這確實是這種情況,但主要通過[Amazon S3 - 多對象刪除](http://aws.typepad.com/aws/2011/12/amazon-s3-multi- object-deletion.html)截至2011年12月 - 它仍然一次只限於1000個對象,但無論如何顯着改善。 – 2012-01-27 17:35:56

+0

@steffenOpel - 謝謝!我錯過了這個消息。是的,這會加快刪除。去年,我不得不刪除超過10M的物體,並花了數天時間! – rsmoorthy 2012-01-27 17:46:35

回答

1

,在過去這是不可能的,但是,亞馬遜終於推出Amazon S3 - Multi-Object Delete在2011年12月:

Amazon S3's新多目標刪除給你 通過單個請求從S3存儲桶中刪除多達1000個對象的能力。像knox

顯然,客戶端庫現在必須加專用支持該API反過來,以及各自的問題確實在諾克斯」問題跟蹤已經存在(仍有待今天的),看Multi-Object Delete

因此,你應該監視這個問題和/或參與實施:)


0

我AwsSum庫已經可以做到多對象中刪除。庫中的操作被稱爲 'DeleteMultipleObjects':

您可以通過NPM安裝AwsSum做:

$ NPM安裝awssum

這裏有一個例子:

希望它順利,如果您需要任何幫助,請給我留言。 :)

+0

只推薦*你*自己的東西8次你第一天在這裏不完全讚賞。請參閱[關於促銷的常見問題](http://stackoverflow.com/faq#promotion)。 – 2012-05-05 12:44:59

+0

對不起,我會再閱讀一下FAQ。然而,knox是一個不再維護的圖書館,因此人們被抓住了。 AwsSum得到了維護,我試圖幫助人們,AWS是我的專長,所以我希望StackOverflow會喜歡這些知識。我道歉,我會停止以這種方式回答問題。 – chilts 2012-05-07 07:26:48

+0

我不是版主,只是在網站評論功能中發現您的帖子的用戶。一位在第一天在多個帖子中推薦單件產品的新用戶將使垃圾郵件指示燈開始升溫。事實上,你提到它是你的項目是好的。而你的答案仍然在這裏顯示垃圾郵件過濾器沒有被觸發。只是想讓你保持清醒。 – 2012-05-07 09:48:39