首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AWS CLI工具-无法从S3递归下载

AWS CLI工具-无法从S3递归下载
EN

Stack Overflow用户
提问于 2015-11-10 06:42:59
回答 2查看 2.4K关注 0票数 3

我在S3上有一个如下的结构:

代码语言:javascript
复制
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的全部内容下载到我的工作目录中:

代码语言:javascript
复制
source_path="s3://bucket/dir_test/"
target_path="."
aws s3 cp "$source_path" "$target_path" --recursive

下载一切正常,但是aws报告Errno 21:

代码语言:javascript
复制
download failed: s3://bucket/dir_test/dir_a/dir/ to dir_a/dir/ [Errno 21] Is a directory: u'/my-wd/dir_a/dir/'

我做错了什么?

EN

回答 2

Stack Overflow用户

发布于 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/

票数 0
EN

Stack Overflow用户

发布于 2015-11-12 08:42:08

你也可以试试mc工具:

mc cp https://s3-us-west-2.amazonaws.com/bucketName/... localdir

命令中的...表示递归操作

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33619724

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档