我正在使用一項服務,將我需要的數據放在S3上,並給我一個預先登錄的URL下載列表(http://.s3.amazonaws.com/?AWSAccessKeyID
= ... & Signature
= ... & Expires
= ...)。
我想將這些文件複製到我的S3存儲桶中,而無需下載它們並再次上傳。如何複製帶有預定網址的對象?
我使用的Ruby SDK(但願意嘗試別的,如果它的工作..),並不能寫這樣的東西。
我能初始化我的憑據(access_key和密碼)授予我訪問我桶的S3對象,但我怎麼通過「源端」 access_key_id
,signature
和expires
參數?
爲了使問題更簡單一些 - 我甚至不能使用presigned參數對對象執行GET請求。 (而不是普通的HTTP,我想通過SDK API來完成)。
我發現了很多關於如何創建一個presigned URL的例子,但沒有提到如何使用已經給定的參數進行驗證(我顯然沒有我的數據提供者的secret_key
)。
謝謝!
我對此表示懷疑。有[AWS :: S3 :: S3Object.copy_to](http://docs.aws.amazon.com/AWSRubySDK/latest/AWS/S3/S3Object.html#copy_to-instance_method),但您需要獲取網址爲S3:Object。我看不到如何使用簽名進行身份驗證或在獲取對象時注入簽名。最好的折衷辦法是在同一地區建立一個EC2 t2.micro實例,並從那裏運行網絡下載和API上傳,因爲數據傳輸是免費且相對較快的。 – Matt
@mtm - 我試過copy_to,它似乎只在兩個桶都在我的賬戶中時才起作用(不需要「雙重認證」)。我認爲它適合作爲AWS的一項功能。也許這值得向他們暗示.. –