Amazon Web Services - AWS get-object 不会创建本地目录



我正在尝试从S3兼容存储下载文件,我正在运行以下命令:

aws s3api get-object --endpoint-url https://my.endpoint.url/ --bucket my_bucket --key mailouts/m3/ma2.png mailouts/m3/ma2.png

我得到和错误:

[Errno 2] No such file or directory: u'mailouts/m3/ma2.png'

但是,当我运行以下命令时:

aws s3api get-object --endpoint-url https://my.endpoint.url/ --bucket my_bucket --key mailouts/m3/ma2.png ma2.png

我结束与ma2.png文件在我的当前目录。看起来aws cli不能创建中间目录mailouts/m3

是否有办法强迫aws cli制作本地目录?

检索单个文件时不存在。只要目标目录中至少有一个文件,AWS S3 CLI中的sync命令就会在目标目录中创建目录。如果您不想同步整个目录树,可以使用--include--exclude选项来缩小同步的文件范围(甚至缩小到只有ma2.png)。

S3桶没有目录/文件夹。当你有这样的内容:

/m3/ma2.png广告单

只是S3存储桶中的一个文件名。如果您想将ma2.png保存在。/mailouts/m3中,您必须解析对象名称并自己创建中间文件夹/目录。

最好的方法是使用aws s3 cp命令,它会创建所需的文件夹

相关内容

最新更新