如何快速列出亚马逊S3的几个特定文件

时间:2018-05-25 14:51:52

标签: amazon-s3

我想检查一些文件是否真的在我的s3存储桶中。使用aws cli我可以用一个像

这样的ls文件
aws s3 ls s3://mybucket/file/path/file001.jpg

但我需要能够为多个文件执行此操作

aws s3 ls s3://mybucket/file/path/file001.jpg ls s3://mybucket/file/path/file002.jpg

无效

也不是

aws s3 ls s3://mybucket/file/path/file001.jpg s3://mybucket/file/path/file005.jpg

当然

aws s3 ls s3://mybucket/file/path/file001.jpg;
aws s3 ls s3://mybucket/file/path/file005.jpg

工作完美,但很慢。获取一个文件大约需要1秒,因为它每次都连接一个关闭连接。

我定期检查数百个文件,所以我需要一个快速的方法来完成它。感谢

我不是坚持使用ls,或者传递路径,文件名的“查找”也会这样做(但是aws cli似乎缺乏查找)。另一个工具(只要可以使用命令行调用),就可以了

我不想获取所有文件的列表,或者让脚本查看所有文件,然后发布流程。我需要一种方法来问s3一次给我一个a,r,z。

我认为s3api listobjects调用应该是一个,但我的语法失败,一次询问几个文件名。

1 个答案:

答案 0 :(得分:1)

您可以使用python boto3 sdk for AWS

轻松完成此操作
import boto3
s3 = boto3.resource('s3')
bucket=s3.Bucket('mausamrest');

for obj in bucket.objects.all():
    print(obj.key)

其中 mausamrest 是存储桶