2016-07-13 265 views
1

我正試圖從亞馬遜的公共存儲桶中下載數據。 Here is a description of the bucket in question訪問aws s3公共存儲桶

該存儲桶具有可供網絡訪問的文件夾example。 我想下載說出該文件夾中列出的所有文件。 會有一長串合適的方塊標識出來,目標是一次性獲取文件夾中的所有文件,而不是單獨從http站點下載每個文件。

從其他StackOverflow問題我意識到我需要使用REST端點並使用像AWS CLI或Cyber​​duck這樣的工具,但我無法讓這些工作到目前爲止。

我認爲這個問題可能是身份驗證。我沒有AWS賬戶,我希望堅持訪客/匿名訪問。 有沒有人有一個很好的解決方案/工具來遍歷一個公共桶,並獲取作爲客人的內容?對於這種類型的任務,使用curl或wget可以採用不同的方法嗎?

謝謝。

+0

注... [我們不招待(http://stackoverflow.com/help/on-topic)「堆棧溢出」中有「是否存在...」的問題。 –

回答

2

對於AWS CLI,您需要提供--no-sign-request標誌來跳過簽名。例如:

> aws s3 ls landsat-pds 
Unable to locate credentials. You can configure credentials by running "aws configure". 
> aws s3 ls landsat-pds --no-sign-request 
          PRE L8/ 
          PRE landsat-pds_stats/ 
          PRE runs/ 
          PRE tarq/ 
          PRE tarq_corrupt/ 
          PRE test/ 
2015-01-28 10:13:53  23764 index.html 
2015-04-14 10:43:22   25 robots.txt 
2016-07-13 12:53:31   38 run_info.json 
2016-07-13 12:53:30 23971821 scene_list.gz 

要下載整個鬥到一個目錄下,你會做這樣的事情:

> mkdir landsat-pds 
> aws s3 sync s3://landsat-pds landsat-pds --no-sign-request 
+0

感謝喬丹,這就像一個魅力。 – Grant