簡體   English   中英

從 aws s3、cp 或同步下載文件夾?

[英]Downloading folders from aws s3, cp or sync?

如果我想將 S3 上某個目錄的所有內容下載到我的本地 PC,我應該使用 cp 還是 sync 哪個命令?

任何幫助將不勝感激。

例如,

如果我想把“這個文件夾”的所有內容都下載到我的桌面上,會不會是這個樣子?

 aws s3 sync s3://"myBucket"/"this folder" C:\\Users\Desktop

AWS 命令​​行界面 (CLI)使用aws s3 cp將需要--recursive參數來復制多個文件。

aws s3 cp s3://myBucket/dir localdir --recursive

默認情況下, aws s3 sync命令將復制整個目錄。 它只會復制新的/修改過的文件。

aws s3 sync s3://mybucket/dir localdir

只需嘗試即可獲得您想要的結果。

文檔:

如果您想下載單個文件,可以嘗試以下命令:

aws s3 cp s3://bucket/filename /path/to/dest/folder

如果您需要使用其他配置文件,尤其是跨帳戶。 您需要在配置文件中添加配置文件

[profile profileName]
region = us-east-1
role_arn = arn:aws:iam::XXX:role/XXXX
source_profile = default

然后如果你只訪問一個文件

aws s3 cp s3://crossAccountBucket/dir localdir --profile profileName

剛剛使用了 AWS CLI 的第 2 版。 對於 s3 選項,現在還有一個 --dryrun 選項來顯示會發生什么:

aws s3 --dryrun cp s3://bucket/filename /path/to/dest/folder --recursive

sync方法首先列出源路徑和目標路徑,並僅復制差異(名稱、大小等)。

cp --recursive方法列出源路徑並將所有內容復制(覆蓋)到目標路徑。

如果您在目標路徑中有可能的匹配項,我建議sync因為目標路徑上的一個 LIST 請求將為您節省許多不必要的 PUT 請求——這意味着更便宜且可能更快。

您有很多選擇可以做到這一點,但最好的選擇是使用 AWS CLI。

這是一個演練:

  1. 在您的機器上下載並安裝 AWS CLI:

  2. 配置 AWS CLI:

在此處輸入圖片說明

確保您輸入了創建帳戶時收到的有效訪問密鑰和秘密密鑰。

  1. 使用以下命令同步 S3 存儲桶:

     aws s3 sync s3://yourbucket/yourfolder /local/path

在上面的命令中,替換以下字段:

  • yourbucket/yourfolder >> 您的 S3 存儲桶和您要下載的文件夾。
  • /local/path >> 要下載所有文件的本地系統中的路徑。

問題: aws s3 sync s3://myBucket/this_folder/object_file C:\\Users\Desktop是否也會在 C:\Users\Desktop 中創建“this_folder”? 如果沒有,復制/同步包括 S3 的文件夾結構的解決方案是什么? 我的意思是我在不同的 S3 存儲桶文件夾中有很多文件按年、月、日排序。 我想將它們復制到本地並保留文件夾結構。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM