Python 使用boto在S3的子存储桶中插入项目

Python 使用boto在S3的子存储桶中插入项目,python,amazon-s3,amazon-web-services,boto,Python,Amazon S3,Amazon Web Services,Boto,假设我在S3上设置了以下桶 MyBucket/MySubBucket 而且,我正计划为MySubBucket之外的网站提供静态媒体服务(如用户上传的图像等)。按照S3配置当前的设置方式,无法将顶级bucket“MyBucket”公开,因此为了模拟这种情况,您需要在插入该bucket后将该bucket中的每个项目公开 您可以将“MySubBucket”这样的子bucket公开,但我目前遇到的问题是如何调用boto将测试映像插入到该bucket中?有人能举个例子吗 谢谢实际上,您只需在文件名之前添加

假设我在S3上设置了以下桶

MyBucket/MySubBucket

而且,我正计划为MySubBucket之外的网站提供静态媒体服务(如用户上传的图像等)。按照S3配置当前的设置方式,无法将顶级bucket“MyBucket”公开,因此为了模拟这种情况,您需要在插入该bucket后将该bucket中的每个项目公开

您可以将“MySubBucket”这样的子bucket公开,但我目前遇到的问题是如何调用boto将测试映像插入到该bucket中?有人能举个例子吗


谢谢

实际上,您只需在文件名之前添加子存储桶名称和
/
。下面的代码片段将把一个名为
'test.jpg'
的文件放入MySubBucket。
k.make_public()
将该文件公开,但不一定是存储桶本身

from boto.s3.connection import S3Connection
from boto.s3.key import Key

connection = S3Connection(AWSKEY,AWS_SECRET_KEY)

bucket = connection.get_bucket('MyBucket')
file = 'test.jpg'
k = Key(bucket)
k.key = 'MySubBucket/' + file
k.set_contents_from_filename(file)
k.make_public()

没有人能提供一个例子…这真的不可能吗?