我在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
一切都下载得很好,但是报告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/'
我做错了什么?
答案 0 :(得分:0)
您的复制命令看起来是正确的,但该错误没有意义--S3实际上没有目录,所以它永远不应该尝试下载"一个空目录。目录在本地创建,作为下载文件的副作用(S3文件实际上命名为" foo / bar / baz.txt" CLI工具正在将其转换为" baz.txt&#34 ;在" bar" dir in" foo" dir)。
我想知道你是否有一些奇怪的东西,比如一个名为" dir /"的文件?或者名称空的文件?试试aws s3 ls s3://bucket/dir_test/dir_a/dir/
答案 1 :(得分:0)