我在這裏有一個非常棘手的問題:我需要讓我的網站的用戶非常大的文件上傳到自己的帳戶,我想將這些文件存儲在AWS S3文件系統。我不能只編寫一個Web服務來接收這些服務並將它們保存在S3 fs中,因爲在上傳期間各種事情都可能出錯,我需要一個複雜的上傳客戶端。亞馬遜提供的用於將文件上傳到S3的客戶端類型,但當然我不能讓用戶直接訪問它。我真的很感激任何想法!允許第三方用戶上傳文件到您的AWS S3 FS
謝謝
我在這裏有一個非常棘手的問題:我需要讓我的網站的用戶非常大的文件上傳到自己的帳戶,我想將這些文件存儲在AWS S3文件系統。我不能只編寫一個Web服務來接收這些服務並將它們保存在S3 fs中,因爲在上傳期間各種事情都可能出錯,我需要一個複雜的上傳客戶端。亞馬遜提供的用於將文件上傳到S3的客戶端類型,但當然我不能讓用戶直接訪問它。我真的很感激任何想法!允許第三方用戶上傳文件到您的AWS S3 FS
謝謝
最佳的做法是讓你的客戶端應用程序直接上傳到S3,不流經自己的網絡基礎設施。這將利用S3的以太網大規模並行特性並卸載您的Web基礎架構。卸載您的基礎設施將允許使用更少的實例或更小的實例來提供相同數量的流量。因此,您的基礎設施成本更低。
您將需要在S3
寫S3 IAM策略,將限制每個用戶自己的「目錄」的訪問(又名鍵前綴)有一個看看這個博客帖子:http://blogs.aws.amazon.com/security/post/Tx1P2T3LFXXCNB5/Writing-IAM-policies-Grant-access-to-user-specific-folders-in-an-Amazon-S3-bucke
如果您的應用程序是一個Web應用程序,甚至可以讓您的客戶的瀏覽器直接上傳到S3。瞭解如何在http://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-UsingHTTPPOST.html
只是最後一個音符安全地實現這個關於你的問題:S3不是一個文件系統,S3是一個對象存儲。瞭解更多關於對象存儲和文件系統之間的差異在http://www.infoworld.com/article/2614094/data-center/what-is-object-storage-.html
首先你需要在你的AWS賬號創建用戶,下次你角色分配給這些用戶,給他們訪問AWS服務,如S3。然後你爲這些角色創建身份訪問並放鬆自己。其餘的是AWS。你不需要擔心雲端API。如果您按照此處所述的方式進行所需的工作,問題就會得到解決。
如果下面的答案是正確的,你可以將其標記爲這樣?這將有助於其他客戶有相同的問題並尋找答案。感謝 –
請看[Uploadcare](https://uploadcare.com)。它允許上傳大文件並將它們複製到s3存儲桶而不暴露它。 –