2014-02-13 103 views
4

我有一個帶有預簽名URL的文件。 我想直接上傳該文件到我的S3存儲桶,而不必先裝入它(我知道如何使用中間步驟來做,但我想阻止它)。將數據從URL導入到Amazon S3

有什麼建議嗎? 在此先感謝

+0

我相信這個問題是重複的,但不能把我的手指放在重複的那一刻,所以答案如下。 –

+1

@ Michael-sqlbot以下可能是您正在考慮的重複內容,但我認爲當前的問題和您的回答更清楚地涵蓋了該主題。 http://stackoverflow.com/questions/7586533/is-it-possible-to-upload-to-s3-directly-from-url-using-post/ –

回答

3

沒有S3支持的方法可以完成您正在嘗試執行的操作。

S3不支持請求類型,基本上說,「去這個URL和任何你從那裏獲取,並保存到我的存儲桶下的以下密鑰。」

這裏唯一的選擇是獲取你想要的,然後上傳它。如果對象很大,而且您不想專用所需的磁盤空間,則可以從原點獲取部分內容,並使用分段上傳將其上傳到部分內容中,或者如果您嘗試在某處節省帶寬,甚至位於與S3存儲區相同區域的非常小的t1.micro實例可能會爲您執行讀取和上載操作提供非常可接受的性能。


單例外是其中要複製從S3一個目的是S3,並且該對象是在5 GB的大小。在這種情況下,您發送PUT請求發送到目標水桶,伴隨着:

x-amz-copy-source: /source_bucket/source_object_key 

這並不完全是「URL」,我以爲你不是說從桶複製到桶,您擁有這兩個桶,或你可能會更直接地詢問這個問題......但這是S3所做的唯一一件類似於你一直在尋找的行爲。

http://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectCOPY.html

這裏不能使用標識的URL ...你用發送PUT請求憑證必須有權限都讀取和存儲。

+0

感謝您的答案。我真的很感激 – desmo