s3cmd: KeyError: 'dest_name' при попытке скопировать несколько файлов

352
zack_falcon

Мне нужно обработать некоторые файлы в корзине S3 с помощью куста. Проблема в том, что кусту явно не нравится использовать сегменты в качестве папок, поэтому я решил создать папку в другом сегменте и скопировать туда файлы с помощью s3cmd.

Это моя команда:

s3cmd -v cp s3://main.bucket/\* s3://temp.bucket/input/ 

Затем s3cmd незамедлительно заявляет, что у меня есть X-файлы для передачи (обычно порядка 5k ++), а затем после копирования одного файла выдает мне следующую ошибку:

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! An unexpected error has occurred. Please report the following lines to: s3tools-bugs@lists.sourceforge.net !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!  Problem: KeyError: 'dest_name' S3cmd: 1.0.1  Traceback (most recent call last): File "/usr/local/bin/s3cmd", line 2006, in <module> main() File "/usr/local/bin/s3cmd", line 1950, in main cmd_func(args) File "/usr/local/bin/s3cmd", line 614, in cmd_cp subcmd_cp_mv(args, s3.object_copy, "copy", "File %(src)s copied to %(dst)s") File "/usr/local/bin/s3cmd", line 604, in subcmd_cp_mv dst_uri = S3Uri(item['dest_name']) KeyError: 'dest_name'  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! An unexpected error has occurred. Please report the above lines to: s3tools-bugs@lists.sourceforge.net !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 

Теперь это просто отстой.

Думая, что проблема заключается в передаче bucket-bucket, я решил создать папку внутри main.bucket и просто скопировать все туда, не обращая внимания, если папка, в которую все копируются, тоже копируется, вызывая цикл или еще много чего. потому что в тот момент я был в конце моего остроумия.

Новая команда выглядит следующим образом:

s3cmd -v cp s3://main.bucket/\* s3://main.bucket/111a/ 

Опять же, он скопировал только один файл и выдал мне ту же ошибку.

Что бы это могло значить? Как это исправить?

Благодарю.

PS Если все остальное терпит неудачу, я думаю, что я мог бы сделать это через графический интерфейс AWS, но ручная проверка каждого флажка - это боль. Насколько мне известно, если вы прокрутите вниз достаточно долго, он тупо забудет файлы, которые вы проверяли выше, заставляя вас делать это в темпе улитки.

Если есть способ выбрать их все сразу и скопировать и вставить их в новый каталог, это было бы здорово.

0

1 ответ на вопрос

1
Matt Domsch

You are using a very old version of s3cmd. I believe this bug has been fixed in the years since. Please try again with upstream github.com/s3tools/s3cmd master branch. As of today, 1.5.0-rc1 is the most current release.

Как мне обновить s3cmd? Я на Mac OSX, кстати. Любые команды обновления через cmd? zack_falcon 10 лет назад 0

Похожие вопросы