我正在尝试使用 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/