我正在尝试使用 boto 和 python 将文件上传到特定位置。我正在使用一些东西来访问这个效果:
from boto.s3.connection import S3Connection
from boto.s3.key import Key
conn = S3Connection(AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY)
bucket = conn.get_bucket('the_bucket_name')
for key in bucket:
print key.name
这是诀窍。我已经为存储桶中的“文件夹”提供了凭据。根据这一点 - Amazon S3 boto - how to create a folder? 我知道在 s3 中实际上没有文件夹,而是像“foo/bar/my_key.txt”这样的键。当我尝试执行 get_bucket() 我得到
boto.exception.S3ResponseError: S3ResponseError: 403 Forbidden
因为我实际上没有基本存储桶的凭据,而是存储桶 key 的子集。
my_bucket/the_area_I_have_permission/*
有谁知道我如何在连接步骤中传递我可以访问的存储桶中的特定“区域”?或者我可以用来访问
my_bucket/the_area_I_have_permission/*
的替代方法? 最佳答案
这是否有帮助:
bucket = conn.get_bucket('the_bucket_name',validate=False)
key = bucket.get_key("ur_key_name")
if key is not None:
print key.get_contents_as_string()
keys = bucket.list(prefix='the_area_I_have_permission')
for key in keys:
print key.name
关于python - 通过 boto 与 'folder' 的 s3 连接,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17537233/