2015-10-06 69 views
0

我需要遞歸下載一個文件夾中的文件夾的目錄樹,但不要下載任何文件(它們很大)。這是我到目前爲止:如何下載S3存儲桶的目錄結構(不含文件)?

s3cmd --dry-run --recursive --no-delete-removed --verbose --rinclude='^[^.]*$' 
    --rexclude='[^.]*$' sync s3://bucket_name/folder/ ~/Downloads/local_folder/ 

它正確地跳過文件,但它不下載文件夾。

這裏有一些相關的問題,我發現

+0

正如您在引用的其他問題的答案中所指出的那樣,沒有要下載的文件夾。 S3中的文件夾很大程度上是一種錯覺,這是鍵名中'/'分隔符的副作用...... s3cmd可能沒有簡單的方式來下載實際不存在的東西。對ListObjects的REST接口的直接API調用允許您獲取「通用前綴」 - 「文件夾」 - 但是s3cmd是否以有用的方式利用這一點是我未知的,fwiw。 –

回答

2

亞馬遜S3沒有文件夾。最接近的概念是CommonPrefix,它允許列出目錄中「文件」內的文件。

你將不得不編寫自己的程序(例如在Python中使用boto)來檢索這些通用前綴並在本地創建一個目錄結構。

順便說一句,這幾天最好是使用AWS Command-Line Interface (CLI)而不是s3cmd因爲它可以與工作,而所有 AWS服務不僅僅是亞馬遜S3。

相關問題