2011-02-25 161 views

回答

36

Amazon S3控制檯現在支持上傳整個文件夾層次結構。在上傳對話框中啓用增強上傳器,然後將一個或多個文件夾添加到上傳隊列中。

http://console.aws.amazon.com/s3

+1

對增強的上傳器不知道,謝謝提及它! – JimmyPena 2011-10-05 03:32:39

+0

它不適用於Safari瀏覽器:( – meck373 2017-04-09 15:21:08

+4

此回覆現在已過時@Kainax的回覆是最新的,但是。 – 2017-06-03 17:37:57

-2

您無法通過在線工具上傳嵌套結構。我建議使用類似Bucket Explorer的東西來進行更復雜的上傳。

+0

any any options? – chrismarx 2011-02-25 22:35:10

+0

CloudBerry Explorer是免費的 - 請參閱上面的 – cloudberryman 2011-02-26 18:16:21

+0

嘗試其他瀏覽器。我發現它適用於Chrome 46.n,但不適用於FireFox 41.0.2。 – ScottWelker 2015-10-23 17:44:47

31

通常我通過AWS管理控制檯使用Enhanced Uploader可用。但是,由於這需要Java,因此可能會導致問題。我發現s3cmd是一個偉大的命令行替換。以下是我用它:

s3cmd --configure # enter access keys, enable HTTPS, etc. 
s3cmd sync <path-to-folder> s3://<path-to-s3-bucket>/ 
28

你不需要增強上傳(我相信了,不再存在)或任何第三方軟件(即總是有風險的,有人會偷走你的私人數據或訪問鍵來自S3存儲桶,甚至來自所有AWS資源)。

由於新的AWS S3的Web上傳管理器支持的文件和文件夾拖放,只需登錄https://console.aws.amazon.com/s3/home並開始上傳過程一切正常,那麼只需將文件夾從桌面直接S3頁。如果您要上傳敏感的私人數據,請確保您正在使用的網頁以https://協議開頭。

+1

Drag'n'drop對我無效 - Win8.1/FireFox 41.0.2。 不確定是否「..開始上傳過程照常」對我來說有一些不明顯的含義..: -/ – ScottWelker 2015-10-23 17:18:34

+2

哦!等等!適用於Chrome 46.n--在我開始上傳過程之後。感謝提示! – ScottWelker 2015-10-23 17:43:40

0

值得一提的是,如果您只是簡單地使用S3進行備份,則應該將該文件夾壓縮並上傳。這將節省您上傳時間和成本。

如果您不確定如何從終端進行高效壓縮,請查看here for OSX。

$ zip -r archive_name.zip folder_to_compress for Windows。 另外一個客戶端,如7-Zip

33

它使用AWS CLI

aws s3 cp SOURCE_DIR s3://DEST_BUCKET/ --recursive 

很容易讓Windows用戶是足夠的,或者您可以通過

aws s3 sync SOURCE_DIR s3://DEST_BUCKET/ 

使用同步記住,你必須安裝AWS並使用您的訪問密鑰ID和祕密訪問密鑰進行配置。ID

 pip install --upgrade --user awscli 
    aws configure 
+0

問題具體問到如何在控制檯上執行此操作 – 2017-08-13 01:49:26

+1

根據用戶是否想要將本地文件夾本身複製到s3或僅複製該文件夾的內容,這會引起誤解'aws s3 cp SOURCE_DIR s3:// DEST_BUCKET/--recursive'不會導致創建's3:// DEST_BUCKET/SOURCE_DIR',但是自動創建這個遠程文件夾是大多數情況下的預期行爲 時間。 – ely 2017-08-19 21:54:57

0

我在這裏沒有看到Python的答案。 你可以使用Python/boto3腳本文件夾上傳。 以下是如何遞歸得到目錄樹中的所有文件名:

def recursive_glob(treeroot, extention): 
    results = [os.path.join(dirpath, f) 
     for dirpath, dirnames, files in os.walk(treeroot) 
     for f in files if f.endswith(extention)] 
    return results 

下面介紹如何使用Python /博託將文件上傳到S3:

k = Key(bucket) 
k.key = s3_key_name 
k.set_contents_from_file(file_handle, cb=progress, num_cb=20, reduced_redundancy=use_rr) 

我用這些想法寫Directory-Uploader-For-S3

0

當我試圖解決這個問題時,我結束了這裏。使用現在的版本,您可以將文件夾拖放到其中,並且它可以工作,即使它不允許您在打開上載對話框時選擇文件夾。

2

我在S3中找到用於上傳文件夾和子文件夾的增強上傳工具時遇到了問題。但是,除了找到工具之外,我可以通過將文件夾拖放到S3存儲桶中將其與其中的子文件夾一起上傳。

注意:此拖放功能在Safari中不起作用。我已經在Chrome中測試過它,它工作得很好。

Drag and drop

後你拖放文件和文件夾,此屏幕打開最後上傳的內容。

enter image description here

+1

我在2015年6月給出了這個答案:) – Kainax 2018-02-12 10:01:14

+0

是的,你的回答很好。但是,當我在Safari中時它不起作用。我必須使用谷歌瀏覽器才能使用它。因此,如果我將整個過程與圖像整合在一起,我認爲其他開發人員可以更容易地獲得即時幫助。希望你能理解。 – 2018-02-12 18:37:39

相關問題