我已使用boto将多个文件上传到Amazon S3。但是,我无法使用语句设置生命周期(我知道这可以使用AWS Management Console完成,但我需要允许每个用户决定保留文件的时间长度。)
boto API reference for S3正确记录configure_lifecycle(lifecycle_config, headers=None)作为解决方案,但我无法对其进行配置。任何人都可以更正我的代码吗?
谢谢!
key='key'
secretkey='secretkey'
#build the connection
conn = S3Connection(key, secretkey)
bucket = conn.create_bucket('przm')
k=Key(bucket)
#select and upload the file
name1='run1'
k.key=name1
k.set_contents_from_filename('RUN')
link1='https://s3.amazonaws.com/przm/'+name1
#allow anyone can download this file
k.set_acl('public-read-write')
#delete this file after one day. Can anyone give me some help here?
configure_lifecycle(lifecycle_config, headers=None)
答案 0 :(得分:5)
您没有在此示例中显示“lifecycle_config”的来源。但是,您应该做的是创建一个Lifecycle对象,如下所示:
import boto.s3.lifecycle
lifecycle_config = boto.s3.lifecycle.Lifecycle()
lifecycle_config.add_rule('lc_rule_1', '/', 'Enabled', 1)
有关Lifecycle对象的详细信息以及上述参数的含义,请参阅类boto.s3.lifecycle。
拥有Lifecycle对象后,您可以在configure_lifecycle()的调用中使用它,如下所示:
bucket.configure_lifecycle(lifecycle_config)