如何使用boto设置S3对象生命周期?

时间:2012-05-11 16:58:52

标签: python amazon-s3 boto

我已使用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)

1 个答案:

答案 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)