2012-02-01 43 views
3

我正在嘗試使用S3存儲桶作爲內部自動更新應用程序文件的部署位置。這將成爲新版本文件被轉儲以供應用程序升級的位置。由於這是一個內部應用程序,我希望URL是私人的,但只能使用URL訪問它。我希望看看使用第三方自動更新軟件,這意味着我不能使用亞馬遜API來訪問它。獲取預先驗證的URL到S3存儲桶

有沒有人知道一種方法來獲得一個URL在S3上的私人存儲桶?

+0

S3開發指南的這部分暗示它有可能,但沒有解釋從何處獲取URL的組件http://docs.amazonwebservices.com/AmazonS3/2006-03-01/dev/RESTAuthentication .html#RESTAuthenticationQueryStringAuth – 2012-02-01 15:38:15

回答

6

您可能希望借)GetPreSignedURL的手段(方法(例如,Java:generatePresignedUrl(),C#:GetPreSignedURL()):使用可用AWS Software Development Kits (SDKs)之一,都實現了各自的方法來生成這些URL

GetPreSignedURL操作將創建一個簽名的http請求。查詢 字符串身份驗證對於給予通常需要身份驗證的資源的HTTP或瀏覽器訪問很有用。當使用查詢 字符串認證時,您創建查詢,爲查詢指定過期時間 ,用您的簽名對其簽名,將數據放入HTTP 請求中,並將請求分發給用戶或將請求嵌入 a網頁。可以在您的存儲桶,密鑰和版本上爲GET,PUT和HEAD 操作生成預先配置的URL。

已經有一些相關的問題了,例如Why is my S3 pre-signed request invalid when I set a response header override that contains a 「+」?包含C#中的工作示例(除了Ragesh正在遇到的內容類型問題)。

祝你好運!

+1

感謝您的幫助!我希望不用爲它寫一個小應用程序就可以做到。我最終找到了一個在線的,但最終決定使用CloudFTP作爲我的S3存儲桶的FTP​​端點。請參閱:http://stackoverflow.com/questions/1855109/amazon-s3-ftp-interface – 2012-02-01 21:09:17