我想要一個用戶,不需要必須有一個亞馬遜帳戶,才能夠上傳多個文件到我的S3存儲桶。用戶上傳到我的S3存儲桶
我該怎麼辦?我想讓用戶通過給他們一個密鑰或者通過一個上傳表單來實現這一點,而不是讓一個桶顯然是可寫的。
我更喜歡在我的服務器端使用Python,但想法是用戶只需要瀏覽器或者打開終端並使用內置的可執行文件即可。
有什麼想法?
我想要一個用戶,不需要必須有一個亞馬遜帳戶,才能夠上傳多個文件到我的S3存儲桶。用戶上傳到我的S3存儲桶
我該怎麼辦?我想讓用戶通過給他們一個密鑰或者通過一個上傳表單來實現這一點,而不是讓一個桶顯然是可寫的。
我更喜歡在我的服務器端使用Python,但想法是用戶只需要瀏覽器或者打開終端並使用內置的可執行文件即可。
有什麼想法?
此答案與.Net相關。
我們有這樣的要求,我們已經創建了一個可執行文件。可執行文件在內部稱爲Web方法,該方法驗證通過身份驗證的應用程序以將文件上傳到AWS S3或NOT。
您也可以使用網絡瀏覽器來做到這一點,但我不會建議這一點,如果您的目標是大文件。
您試圖通過您的python後端代理文件到S3,即太大的文件。相反,您可以將S3配置爲直接接受來自用戶的文件(無需通過後端代碼進行代理)。
這裏說明的是:Browser Uploads to S3 using HTML POST Forms。這樣你的服務器就不需要處理任何上傳負載。
如果你還希望你的用戶使用他們的其他ID(谷歌/ FB等)來實現這個工作流程,那也是可能的。他們將能夠將這些文件上傳到您的存儲桶中的子文件夾(路徑),而不會暴露您的存儲桶的其他部分。這在這裏詳述:Web Identity Federation with Mobile Applications。雖然它說移動,你可以應用相同的web應用程序。
說了這麼多,就像@Ratan指出的那樣,當你從瀏覽器中嘗試時,大文件上傳可能會中斷,而且它不能重試「只有失敗的部分」。這是一個專門的應用程序的需求進來的地方。另一個選擇是要求你的用戶保存在他們的Dropbox/BOX.com帳戶的文件,你的服務器可以從那裏讀取 - 這些服務已經照顧了所有重試等大文件上傳等使用他們的應用。