Я пытался выяснить, как очистить мой ведро s3. Я хочу удалить все ключи старше X дней (в моем случае X - 30 дней).S3 Истечение срока действия с помощью boto
Я не мог найти способ удалить объекты в s3.
Я использовал следующие подходы, ни одна из которых не работала (Поработав, я имею в виду, что я пытался получить объект после X дней, а s3 все еще служил объекту. Я ожидал, что «Объект не найден» или «Истек срок действия», сообщение
подход 1:
k = Key(bucket)
k.key = my_key_name
expires = datetime.utcnow() + timedelta(seconds=(10))
expires = expires.strftime("%a, %d %b %Y %H:%M:%S GMT")
k.set_contents_from_filename(filename,headers={'Expires':expires})
подход 2:
k = Key(bucket)
k.key = "Event_" + str(key_name) + "_report"
expires = datetime.utcnow() + timedelta(seconds=(10))
expires = expires.strftime("%a, %d %b %Y %H:%M:%S GMT")
k.set_meta_data('Expires', expires)
k.set_contents_from_filename(filename)
Если кто-нибудь может поделиться код, который работал для них, который удаляет объекты s3, что бы be really great
Я пытался проверить это, и интересно, если действия могут быть проверены с помощью минут/секунд. Похоже дней = 1 - минимальное время, которое можно использовать – user2005798
Невозможно использовать минуты/секунды.Минимальный срок составляет 0 дней, и единственной гарантией является то, что AWS принимает меры до следующего дня по полутону UTC в соответствии с [Жизненный цикл Bucket Bucket] (http://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTlifecycle.html) , – MeSee
Пожалуйста, измените LifeCycle на Lifecycle в «из boto.s3.lifecycle import LifeCycle», поскольку Lifecycle - это правильное имя класса. – AliBZ