5

我已经使用boto将几个文件上传到 Amazon S3 。但是,我未能设置生命周期 using 语句(我知道这可以使用AWS 管理控制台来完成,但我需要让每个用户决定要保留文件多长时间)。

S3的boto API 参考正确记录了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)
4

1 回答 1

5

在此示例中,您没有显示“lifecycle_config”的来源。但是,您应该做的是创建一个 Lifecycle 对象,如下所示:

import boto.s3.lifecycle
lifecycle_config = boto.s3.lifecycle.Lifecycle()
lifecycle_config.add_rule('lc_rule_1', '/', 'Enabled', 1)

有关Lifecycle 对象的详细信息以及上述参数的含义,请参见 class boto.s3.lifecycle 。

一旦有了 Lifecycle 对象,就可以在调用configure_lifecycle()时使用它,如下所示:

bucket.configure_lifecycle(lifecycle_config)
于 2012-05-14T13:16:45.363 回答