2012-01-27 36 views
3

想象一下,我的確上傳了一個50MB的文件給S3。是否可以只更新已上傳到S3的文件?

完全上傳後,通過向其中添加5MB數據來更改文件。現在這個文件是55MB。

是否有可能只上傳這些添加到S3的5MB或者我是否總是需要重新上傳整個文件?

可能像PUT方法那樣可以接受內容範圍,所以我可以只更新這個特定範圍的字節。

+0

我不認爲我們有這樣做的規定。由於S3只是簡單的數據庫存儲。我真的沒有看到你的代碼,並有一個跟蹤器,在那裏文件已經結束了。 – uday 2012-01-27 19:48:31

+0

我不是在尋找一個跟蹤器,我確切地知道哪些字節被添加到文件中,我在尋找的是一個調用,它允許我告訴S3 **嘿,在這個文件上添加這些字節從X開始已經有**,就像我會在部分/可恢復的上傳中做的那樣。 – 2012-01-27 19:53:20

回答

1

當前S3 API不允許您上傳更改的部分(即修補文件)。您需要重新上傳整個文件。

另一種選擇是使用自己的文件格式將文件保存爲一組塊。但是這使得它與其他s3客戶端不兼容。

+0

這是不幸的,但謝謝。 – 2012-01-31 17:17:45

0

如果這是您要定期執行的操作,您可能需要查看rsync之類的東西。 Rsync會跟蹤對文件所做的更改並保持它們在服務器之間同步。在這裏工作中,我們使用名爲duplicity的rsync包裝器,它允許我們將文件備份到S3,並且僅上載已更改文件之間的差異。

但是,這一切都取決於您的具體需求。

相關問題