python - 使用 python 访问亚马逊 s3 存储桶子文件夹

标签 python amazon-s3 boto3

我正在尝试使用 python 的 boto3 访问存储桶子文件夹。

问题是我找不到如何在 boto 代码中输入子文件夹信息的地方。

我找到的只是如何输入存储桶名称,但我无权访问整个存储桶,只能访问特定的子文件夹。谁能给我一盏灯吗?

到目前为止我做了什么:

 BUCKET = "folder/subfolder"
 conn = S3Connection(AWS_KEY, AWS_SECRET)
 bucket = conn.get_bucket(BUCKET)
 for key in bucket.list():
     print key.name.encode('utf-8')

错误信息:

botocore.exceptions.ClientError: An error occurred (AccessDenied) when calling the ListBuckets operation: Access Denied

我不需要使用 boto 进行操作,我只需要列出/获取此子文件夹内的文件。

P.S.:我可以使用cyberduck通过放置路径文件夹/子文件夹来访问文件,这意味着我可以访问日期。

真诚的,

以色列

最佳答案

我使用类似的 vtl 建议修复了问题:

我必须将前缀和分隔符放入我的存储桶中。最终的代码是这样的:

objects = s3.list_objects(Bucket=bucketName, Prefix=bucketPath+'/', Delimiter='/')

正如他所说,没有文件夹结构,那么你必须声明一个分隔符,并像我一样将其放在前缀之后。

感谢您的回复。

关于python - 使用 python 访问亚马逊 s3 存储桶子文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47194919/

相关文章:

python - 汇总 panda 数据框中的值

python - 结合 itertools 和多处理?

amazon-s3 - S3 Select 中的聚合函数

php - 使用签名算法版本 4 创建签名的 S3 下载链接

python-3.x - 使用 boto3 在 DynamoDB 中创建 'SS' 项

python - snapshot.wait_until_completed 不显示进度也不显示完成时间

Python boto3 过滤RDS标签

python - 如何在算术表达式的结果上放置 SQLAlchemy 标签?

python - 我无法让碰撞在 pygame 中工作

amazon-web-services - AWS SAM 事件桥不触发 lambda 函数