Перемещение файлов в корзине amazon s3

Я загрузил файлы на ведро s3. Но по моей вине s3cmd загружал файлы на s3://backups/files/bkup14 вместо s3://backups/bkup14. Теперь, чтобы переместить все файлы из s3://backups/files/bkup14 в s3://backups/bkup14, я попробовал следующую команду:

s3cmd mv --recursive s3://backups/files/bkup14 s3://backups/bkup14

Но это дает мне следующую ошибку:

ERROR: S3 error: 400 (InvalidRequest): This copy request is illegal because it is trying to copy an object to itself without changing the object's metadata, storage class, website redirect location or encryption attributes.

Что я здесь делаю неправильно? Кто-нибудь может предложить мне?


person Parth Patel    schedule 27.10.2014    source источник


Ответы (1)


Сначала попробуйте СИНХРОНИЗИРОВАТЬ ведра (всегда сначала пробный запуск):

s3cmd sync s3://backups/files/bkup14/ s3://backups/bkup14/ --dry-run
s3cmd sync s3://backups/files/bkup14/ s3://backups/bkup14/

затем удалите папку, которая вам больше не нужна:

s3cmd del --recursive s3://backups/files/bkup14 --dry-run
s3cmd del --recursive s3://backups/files/bkup14

Пространство имен ведра AWS S3 совместно используется всеми пользователями системы, поэтому, если вам не очень повезло поймать ведро backups, ваше ведро s#, скорее всего, будет чем-то другим.

Ниже приведен пример выше проверенного и доказанного.

s3cmd sync s3://backups-stackoverflow-demo/files/bkup14/ s3://backups-stackoverflow-demo/bkup14/ --dry-run
  Summary: 1 source files to copy, 0 files at destination to delete
  Sync: s3://backups-stackoverflow-demo/files/bkup14/test.txt -> s3://backups-stackoverflow-demo/bkup14/test.txt
  WARNING: Exitting now because of --dry-run

s3cmd sync s3://backups-stackoverflow-demo/files/bkup14/ s3://backups-stackoverflow-demo/bkup14/
  Summary: 1 source files to copy, 0 files at destination to delete
  File s3://backups-stackoverflow-demo/files/bkup14/test.txt copied to s3://backups-stackoverflow-demo/bkup14/test.txt
  Done. Copied 1 files in 0.1 seconds, 16.72 files/s

s3cmd del --recursive s3://backups-stackoverflow-demo/files/bkup14 --dry-run
  delete: s3://backups-stackoverflow-demo/files/bkup14/
  delete: s3://backups-stackoverflow-demo/files/bkup14/test.txt
  WARNING: Exitting now because of --dry-run

s3cmd del --recursive s3://backups-stackoverflow-demo/files/bkup14
  File s3://backups-stackoverflow-demo/files/bkup14/ deleted
  File s3://backups-stackoverflow-demo/files/bkup14/test.txt deleted
person George Rushby    schedule 27.10.2014
comment
Я попытался синхронизировать сегменты с помощью вашей команды, но получил ошибку: Проблема с параметром: неверный источник/назначение. - person Parth Patel; 28.10.2014
comment
Я надеюсь, что вы не скопировали команды дословно и заменили резервную копию имени корзины на вашу настоящую корзину. Что выводит s3cmd ls? - person George Rushby; 28.10.2014