2017-02-06 2 views
0

Я просматриваю документацию aws cli, и я не могу найти способ скопировать только файлы в какой-либо структуре каталогов в другое ведро с «сплющенной» структурой (я хочу один каталог и все файлы внутри него).копирование файлов между s3 ведрами без папок amazon aws cli

, например

/a/b/c/1.pg 
/a/2.jpg 
/a/b/3.jpg 

я хотел бы иметь в другом ведре:

/x/1.jpg 
/x/2.jpg 
/x/3.jpg 

ли я что-то отсутствует, или это невозможно? У вас есть идея, как я могу это сделать?

+0

насчет файлов с похожими именами? –

ответ

1

Вам не нужно скачивать файлы локально, как предложено в другом ответе. Вместо этого вы могли бы написать скрипт или что-то, что делает следующее:

  • Выполнить ls на s3://bucket1, чтобы получить полностью квалифицированные имена всех файлов в ней.
  • Для каждого файла, запустите cp, чтобы скопировать его из текущего местоположения s3://bucket2/x/
+0

Мне пришлось пойти с этим – fr3ak

0

Предполагая, что вы настроили aws cli в системе и предположили, что оба ведра находятся в одном регионе. Что вы можете сделать, это первый Dowload s3 ведро вашей локальной машине с помощью:

aws s3 sync s3://originbucket /localdir/ 

Сообщение это, используйте команду поиска, чтобы получить все файлы в один реж

find /localdir/ -type f -exec mv {} /anotherlocaldir/ 

Наконец, вы можете снова загрузите файлы на s3!

aws s3 sync /anotherlocaldir/ s3://destinationbucket 
+0

ну, это, вероятно, будет работать, если бы у меня было достаточно места на диске ... – fr3ak

+0

Я не думаю, что s3 позволит это по разным причинам, а что, если у вас было 1.jpg под разными структурами каталогов? какой файл он рассмотрит тогда! –

0

Вот некоторые примеры для Вашей ссылки:

AWS s3 синхронизации /a/b/c/1.pg s3: // bucketname/

AWS s3 синхронизации /a/2.jpg s3: // bucketname/

AWS s3 синхронизации /a/b/3.jpg s3: // bucketname/

Чтобы синхронизировать все содержимое директории на S3 ведро:

AWS s3 синхронизации/DirectoryPath/s3: // bucketname/

AWS ссылка URL: http://docs.aws.amazon.com/cli/latest/reference/s3/sync.html

Смежные вопросы