2012-05-11 3 views
4

Я загрузил несколько файлов на Amazon S3, используя boto. Тем не менее, мне не удалось установить жизненный цикл с помощью оператора (я знаю, что это можно сделать с помощью AWS Management Console, но мне нужно разрешить каждому пользователю решать, сколько времени нужно сохранить в файле).Как установить жизненный цикл объекта S3 с помощью boto?

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) 

ответ

5

Вы не видите, где в этом примере появляется «lifecycle_config». Тем не менее, то, что вы должны сделать, это создать объект Lifecycle, например:

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

См класс boto.s3.lifecycle подробности о жизненном цикле объектов и тем, что указанные параметры означают.

После того, как у вас есть объект Lifecycle, вы можете использовать его в вызове configure_lifecycle(), как это:

bucket.configure_lifecycle(lifecycle_config) 
+0

больше не работает для текущей версии boto3. – Johannes

Смежные вопросы