Скачивание папок с aws s3, cp или sync?


116

Если я хочу загрузить все содержимое каталога на S3 на свой локальный компьютер, какую команду мне следует использовать cp или sync?

Любая помощь будет высоко ценится.

Например,

если я захочу загрузить все содержимое «этой папки» на свой рабочий стол, будет ли это выглядеть так?

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

Ответы:


201

Для использования aws s3 cpиз интерфейса командной строки (CLI) AWS потребуется --recursiveпараметр для копирования нескольких файлов.

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

По aws s3 syncумолчанию команда скопирует весь каталог. Он будет копировать только новые / измененные файлы.

aws s3 sync s3://mybucket/dir localdir

Просто экспериментируйте, чтобы получить желаемый результат.

Документация:


3
Мне потребовалось несколько минут, чтобы понять, где взять aws cli. Вот он: aws.amazon.com/cli
Бьёрн Стенфельдт

@dnafication Пожалуйста, создайте новый вопрос вместо того, чтобы задавать вопрос в комментарии к старому вопросу.
Джон Ротенштейн

1
aws s3 cp s3://myBucket/dir localdir --recursive. Это работает как шарм. Если пропустить флаг --recursive, это вызывает довольно бесполезную ошибку:fatal error: An error occurred (404) when calling the HeadObject operation: Key "myBucket" does not exist
Siddhartha

Но если файл single zip большого размера в ГБ, какова будет рекомендация?
Канагавелу Сугумар,

@KanagaveluSugumar Создайте новый вопрос, а не задавайте его в комментариях к старому вопросу.
Джон Ротенштейн

4

Если вам нужно использовать другой профиль, особенно кросс-аккаунт. вам нужно добавить профиль в конфигурационный файл

[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


2

Если вы хотите загрузить один файл, вы можете попробовать следующую команду:

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

1

Только что использовал версию 2 интерфейса командной строки AWS. Для параметра s3 теперь также есть параметр --dryrun, чтобы показать вам, что произойдет:

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

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.