使用 boto3 列出存储桶的内容

新手上路,请多包涵

我如何使用 boto3 查看 S3 存储桶中的内容? (即做一个 "ls" )?

执行以下操作:

 import boto3
s3 = boto3.resource('s3')
my_bucket = s3.Bucket('some/path/')

回报:

 s3.Bucket(name='some/path/')

我如何查看其内容?

原文由 Amelio Vazquez-Reina 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 565
2 个回答

查看内容的一种方法是:

 for my_bucket_object in my_bucket.objects.all():
    print(my_bucket_object)

原文由 garnaat 发布,翻译遵循 CC BY-SA 4.0 许可协议

这类似于“ls”,但它不考虑前缀文件夹约定,并将列出存储桶中的对象。由读者来过滤掉作为键名一部分的前缀。

在 Python 2 中:

 from boto.s3.connection import S3Connection

conn = S3Connection() # assumes boto.cfg setup
bucket = conn.get_bucket('bucket_name')
for obj in bucket.get_all_keys():
    print(obj.key)

在 Python 3 中:

 from boto3 import client

conn = client('s3')  # again assumes boto.cfg setup, assume AWS S3
for key in conn.list_objects(Bucket='bucket_name')['Contents']:
    print(key['Key'])

原文由 cgseller 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题