2011-05-04 88 views
4

我正在開發一個針對亞馬遜S3的系統。 我正在使用S3的.NET SDK在C#中完成它。Amazon S3是否支持多文件原子上傳?

我想一次上傳幾個文件到S3,但如果有任何一個失敗,我希望他們都失敗。我可以這樣做嗎?怎麼樣?

SDK的TransferUtility.UploadDirectory是否執行目錄的原子上載,如果目錄中的任何文件無法上載,那麼它們都會失敗?

如果它不做原子上傳,那麼我需要有代碼來自己管理它;如何使用TransferUtility.UploadDirectory瞭解哪些文件成功,哪些失敗?

感謝您的任何幫助或指導方向。

回答

0

嗯,好像在TransferUtility方法是提供小反饋相當高的水平型輔助方法,以及UploadDirectory不包含任何原子邏輯(也沒有S3多個文件,這是確實需要發生的良好的原子性)。

因此,需要某種類型的最終一致性隊列來確保事情完成。 用於S3自動處理的多文件上傳機制非常方便,也許他們正在處理它,但目前似乎沒有此功能。

0

不,你不能這樣做。 S3不提供任何用於多對象上傳的API。你可以做的最好的做法是在你的客戶端實現這一點(如果一次上傳失敗,刪除所有已經上傳的對象),但這當然不是原子的。

相關問題