When attempting to use s3cmd to move many files from a bucket base directory to a sub-folder, this error was encountered.
Example command, output, and error:
$ s3cmd mv s3://my-bucket/BundledAmi* s3://my-bucket/BundledAmiFolder/
Output: File s3://my-bucket/BundledAmi.manifest.xml moved to s3://my-bucket/BundledAmiFolder/BundledAmi.manifest.xml
Note that this first file _does_ get moved properly but no other files get moved after the error below. Each successive command execution transfers one file before throwing the KeyErr: 'dest_name' error - the error output of this command is below:
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
An unexpected error has occurred.
Please report the following lines to:
s3tools-bugs@lists.sourceforge.net
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Problem: KeyErr: 'dest_name'
S3cmd: 1.0.0
Traceback (most recent call last):
File "/usr/bin/s3cmd", line 2006, in ?
main()
File "/usr/bin/s3cmd", line 1950, in main
cmd_func(args)
File "/usr/bin/s3cmd", line 618, in cmd_mv
subcmd_cp_mv(args, s3.object_move, "move", "File %(src)s moved to %(dst)s")
File "/usr/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
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
===
Also note that simulating globbing using a series of bash for loops with an incrementing loop counter is a useable, if somewhat tedious workaround; example below:
for N in {0..9} ; do s3cmd mv s3://my-bucket/BundledAmi.part.00${N} s3://my-bucket/BundledAmiFolder/
Note that this error was also report in Bug ID: 3091912 occurring in the prior version of S3cmd: v0.9.9.91
Fixed in newer releases such as 1.5.0.