s3cmd: KeyError: 'dest_name' при спробі скопіювати кілька файлів


0

Мені потрібно обробити деякі файли у відрі 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
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Тепер це просто смокче.

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

Нова команда така:

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

Знову він скопіював лише один файл і дав мені ту саму помилку.

Що це могло означати? Як це виправити?

Дякую.

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

Якщо є спосіб їх вибору відразу і скопіювати, вставити їх у новий каталог, це було б чудово.

Відповіді:


1

Ви використовуєте дуже стару версію s3cmd. Я вважаю, ця помилка була виправлена ​​ще з тих пір. Спробуйте ще раз із головним відділенням github.com/s3tools/s3cmd. На сьогоднішній день 1.5.0-rc1 - це найновіший випуск.


Як оновити s3cmd? Я на Mac OSX, btw. Будь-які команди оновлення через cmd?
zack_falcon
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.