Python-在上传S3图像时将其公开?
我使用这段代码从python将图像上传到S3,但我需要它们立即公开,而不是手动更改权限Python-在上传S3图像时将其公开?,python,amazon-web-services,amazon-s3,boto,Python,Amazon Web Services,Amazon S3,Boto,我使用这段代码从python将图像上传到S3,但我需要它们立即公开,而不是手动更改权限 im2.save(out_im2, 'PNG') conn = boto.connect_s3(keys) b = conn.get_bucket('example') k = b.new_key('example.png') k.set_contents_from_string(out_im2.getvalue()) 我已经尝试了以下代码: b.set_acl('public-read-write')
im2.save(out_im2, 'PNG')
conn = boto.connect_s3(keys)
b = conn.get_bucket('example')
k = b.new_key('example.png')
k.set_contents_from_string(out_im2.getvalue())
我已经尝试了以下代码:
b.set_acl('public-read-write')
使用ACL
尝试:
根据这一点,您可以在单个项目上设置固定ACL
更改bucket上的acl(正如您使用b.set_acl
所做的那样),只会影响bucket操作的权限(例如列出bucket中的对象),而不会影响对象操作,例如读取对象(这是您想要的)。有关应用于bucket和对象时不同权限的含义的更多详细信息,请参阅
使用桶策略
但是,根据图像的密钥结构,您可能会发现设置一个bucket策略来授予对给定路径中所有密钥的读取权限更简单。这样,您就不必对任何单个对象执行任何特殊操作
和
k.set_acl('public-read')