2012-03-15 139 views
14

我有一個上傳每隔一小時到Amazon S3,這是造成我的S3請求費用也拍實快許多微小的文件笨web應用程序。解決這個問題的一種方法是壓縮文件,將zip文件上傳到S3,然後在S3上解壓縮。上傳ZIP文件到S3,EC2使用解壓縮

可以這樣使用EC2做?還是有更好的方法來實現這一目標?謝謝!!

編輯:如果我要使用EC2,我是否使用PHP觸發創建EC2實例,上傳解壓縮文件所需的PHP文件,將解壓縮的文件複製到S3,然後銷燬EC2實例?

+0

你不能存儲在S3壓縮文件? – 2012-03-15 12:29:50

+0

我希望單個解壓縮文件在S3上可用。將其壓縮(將100個小文件分成1個zip文件)的原因是爲了減少「PUT」請求的數量,這大大增加了S3使用的成本。 – Nyxynyx 2012-03-15 12:37:18

+1

將ZIP文件上傳到S3並在EC2上解壓它們以降低成本將無濟於事:它仍會花費您對從EC2進入S3的每個解壓縮文件的PUT請求。 – Daan 2012-03-15 18:36:27

回答

23

如果在同一地區有EC2機我建議你把它上傳有壓縮,然後將其拖放到S3從這裏拉開。 S3無法自行解壓,因爲它的全部是靜態的。

即使世界EC2和S3所以EC2可以處理解壓,然後將它寫出來到您的S3存儲,無需額外轉賬費之間沒有收費。

+2

帶寬是免費的,但你會支付PUTs(目前每1,000個請求0.005美元)。如果你有一個帶有10,000個小文件的zip文件,上傳會花費一些東西,更重要的是,它需要一段時間。 – Ben 2015-07-19 00:49:56

+1

親愛的@Akshat,請分享鏈接或代碼從EC2到S3寫一個文件夾(它已經解壓縮),如果你有這個,將不勝感激 – 2016-04-27 07:27:51

2

S3只是存儲。無論您上傳的文件是存儲的文件。你不能上傳一個zip文件,然後在S3中提取它。如果您編寫應用程序,我可以說的最好的事情就是嘗試重新設計您存儲文件的方式。 S3請求相當便宜...你必須提出很多請求。

2

我一直在使用這項服務來解壓全部成千上萬個小圖片文件,我上傳的每個zip文件大約是4GB,並且使用http://www.cloudzipinc.com/service/s3_unzip解碼時需要花費1美元左右,也許這可能有助於某人。

說了這麼多,你可能會發現它更容易使用的Python與Boto程式庫。這將比PHP更有效。