AWS CLI列出S3存储桶中的所有文件

时间:2020-01-07 18:45:49

标签: amazon-web-services amazon-s3 aws-cli

我正在练习AWS命令。我的客户给了我AWS IAM访问密钥和机密,但没有给我我可以登录到管理面板的帐户。这些密钥正在与项目本身一起使用。我想做的是,我试图列出S3存储桶中所有递归的文件。

这是我到目前为止所做的。

我已使用以下命令为CLI配置了AWS配置文件

aws configure

然后我可以通过运行以下命令列出所有可用的存储桶

 aws s3 ls

然后,我尝试列出存储桶中的所有文件。我尝试运行以下命令。

 aws s3 ls s3://my-bucket-name

但是似乎没有给我正确的内容。另外,我也需要一种在存储桶中导航的方法。我该怎么办?

2 个答案:

答案 0 :(得分:4)

您要递归列出所有对象,但不使用--recursive标志。这只会在根级别显示前缀和任何对象

相关文档https://docs.aws.amazon.com/cli/latest/reference/s3/ls.html

答案 1 :(得分:-1)

一些选项。

滚动自己的

如果您运行“MyAplication.Drioid has stopped” ,并且订单项的字词为“ PRE”,而不是修改日期和大小,则表示它是您可以遍历的“目录”。您可以编写一个快速的bash脚本,以在返回“ PRE”的所有内容上运行递归aws s3 ls命令,这表明它正在隐藏更多文件。

s3fs

使用github上的S3FS-Fuse项目,您可以在文件系统上挂载S3存储桶并以此方式进行浏览。我尚未测试过它,因此不能亲自推荐它,但是它似乎可行,并且可能是使用已经拥有并理解的工具(例如aws s3 ls)的简单方法。

我可能会担心的一个问题是,当我使用与此类似的软件时,它已经进行了许多API调用,如果长期放置,则仅API调用次数就可能增加成本。

将所有内容同步到本地主机(不推荐)

添加此内容以完成操作,但是您可以运行

tree

这将尝试将所有内容复制到您的计算机,并且您将能够使用自己的文件系统。 但是,s3存储桶可以容纳PB级的数据,因此您可能无法将其全部同步到系统中。 ,s3提供了很多强有力的安全预防措施来保护数据,而您的个人计算机可能没有。