我在S3上有一个如下的结构:
bucket:
- dir_test
- dir_a
- dir
- file
- file_2
- file_2
- file_n
- dir_b
- dir
- file
- file_2
- file_2
- file_n我想从shell脚本将dir_test的全部内容下载到我的工作目录中:
source_path="s3://bucket/dir_test/"
target_path="."
aws s3 cp "$source_path" "$target_path" --recursive下载一切正常,但是aws报告Errno 21:
download failed: s3://bucket/dir_test/dir_a/dir/ to dir_a/dir/ [Errno 21] Is a directory: u'/my-wd/dir_a/dir/'我做错了什么?
发布于 2015-11-11 10:48:55
您的复制命令看起来是正确的,但是这个错误没有任何意义-- S3实际上没有目录,所以它永远不应该尝试“下载”一个空目录。目录是在本地创建的,这是下载文件的一个副作用( S3文件实际上被命名为“foo/S3/baz.txt”,CLI工具在"foo“目录的"bar”目录中将其转换为"baz.txt“)。
我想知道你有没有什么奇怪的东西,比如名为"dir/“的文件?还是一个名称为空的文件?试试aws s3 ls s3://bucket/dir_test/dir_a/dir/
发布于 2015-11-12 08:42:08
https://stackoverflow.com/questions/33619724
复制相似问题