You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When copying files from one bucket to a local drive, I saw this exception
….
download: ‘s3://....' -> '/tmp/archives/....' (9422831 bytes in 0.0 seconds, 307.48 MB/s) [162 of 163]
download: 's3://....' -> '/tmp/archives/....' (9309 bytes in 0.0 seconds, 7.06 MB/s) [163 of 163]
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
An unexpected error has occurred.
Please try reproducing the error using
the latest s3cmd code from the git master
branch found at:
https://github.com/s3tools/s3cmd
and have a look at the known issues list:
https://github.com/s3tools/s3cmd/wiki/Common-known-issues-and-their-solutions-(FAQ)
If the error persists, please report the
following lines (removing any private
info as necessary) to:
[email protected]
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Invoked as: /usr/bin/s3cmd --access_key=kurl --secret_key=<redacted> --host=minio.minio --no-ssl --host-bucket=<redacted> sync s3://<redacted_bucket> /tmp/archives
Problem: <class 'TypeError: 'dict_keys' object is not subscriptable
S3cmd: 2.4.0
python: 3.12.1 (main, Dec 8 2023, 02:59:13) [GCC 13.2.0]
environment LANG=NOTSET
Traceback (most recent call last):
File "/usr/bin/s3cmd", line 3627, in <module>
rc = main()
^^^^^^
File "/usr/bin/s3cmd", line 3524, in main
rc = cmd_func(args)
^^^^^^^^^^^^^^
File "/usr/bin/s3cmd", line 2163, in cmd_sync
return cmd_sync_remote2local(args)
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/bin/s3cmd", line 1719, in cmd_sync_remote2local
_set_local_filename(copy_pairs, destination_base, source_args, dir_cache)
File "/usr/bin/s3cmd", line 1408, in _set_local_filename
source_args[0] == remote_list[remote_list.keys()[0]].get(u'object_uri_str', ''):
~~~~~~~~~~~~~~~~~~^^^
TypeError: 'dict_keys' object is not subscriptable
Reproduction
I'm not yet able to write a reproducer that gets to that code path, but I looked at the code and traced the exception to this line which was written years ago. remote_list.keys() creates a dictionary view which cannot be indexed directly.
docker run --rm python:3.12 python -c 'd = {"t": 123}; print(d.keys()[0])'
Traceback (most recent call last):
File "<string>", line 1, in <module>
TypeError: 'dict_keys' object is not subscriptable
You would need to construct a list first using list() then get the first value.
docker run --rm python:3.12 python -c 'd = {"t": 123}; print(list(d.keys())[0])'
t
Environment
S3cmd: 2.4.0
python: 3.12.1
The text was updated successfully, but these errors were encountered:
add a / at the end of /tmp/archives
/usr/bin/s3cmd --access_key=kurl --secret_key= --host=minio.minio --no-ssl --host-bucket= sync s3://<redacted_bucket> /tmp/archives/
Description
When copying files from one bucket to a local drive, I saw this exception
Reproduction
I'm not yet able to write a reproducer that gets to that code path, but I looked at the code and traced the exception to this line which was written years ago.
remote_list.keys()
creates a dictionary view which cannot be indexed directly.You would need to construct a list first using
list()
then get the first value.Environment
S3cmd: 2.4.0
python: 3.12.1
The text was updated successfully, but these errors were encountered: