如何使用python从aws3bucked下载特定的文件夹内容



我想从S3存储桶中下载特定的文件夹内容。我可以访问s3 bucket,但如何访问文件夹并将文件夹中的内容下载到本地驱动器。

ACCESS_KEY = 'def'
SECRET_KEY = 'abc'
session = Session(aws_access_key_id=ACCESS_KEY,aws_secret_access_key=SECRET_KEY)
s3 = session.resource('s3')
your_bucket = s3.Bucket('bucket_name') 
filename = []
for s3_file in your_bucket.objects.all():
filename.append(s3_file.key)
s3 = boto3.client('s3',aws_access_key_id = ACCESS_KEY,aws_secret_access_key= SECRET_KEY)
for l in range(len(filename)):
s3.download_file('bucket_name',filename[l],'filepath'+filename[l])

上述代码用于访问Aws s3存储桶中的内容。在我的s3 bucket中有多个文件夹,我需要选择特定的文件夹并仅从该文件夹下载内容。我该怎么做?

下面是一个如何使用python:与Minio(兼容AmazonS3(实现这一点的示例

client = Minio(
"localhost:port",
access_key="access_key",
secret_key="secret_key",
secure=False,
)
objects = client.list_objects("index", prefix="public/")
for obj in objects:
<Do something ....>

最好的方法是列出该前缀(文件夹(的内容(文件(,然后单独下载这些文件。

最佳,Stefan

最新更新