Использует ли параметр Expires с put_object () в s3 для загрузки, удаляет файл из s3 через определенный промежуток времени - PullRequest
0 голосов
/ 07 апреля 2020

В настоящее время я использую s3 put_object () для загрузки некоторых файлов, которые необходимо удалить через 12 часов. Я столкнулся с аргументом Expires в put_object () в документации s3. Но его использование не удаляет файл. В чем может быть проблема?

 today = datetime.datetime.now()
 expiry_time = today + datetime.timedelta(minutes=10)
 s3.put_object(
        Bucket='Bucket',
        Key = 'path',
        Body = buffer,
        ContentType = 'image/png',
        ACL = 'public-read',
        Expires = expiry_time

    )

Ответы [ 2 ]

1 голос
/ 07 апреля 2020

Вы не определяете политику истечения срока действия объекта, вы устанавливаете значение, когда объект больше не кэшируется.

Это относится к HTTP Expires header , а не к объекту S3 Политика истечения срока действия.

0 голосов
/ 07 апреля 2020

Как уже сказал @Radu, параметр expires на объекте putobject не предназначен для удаления объектов.

Обычно для удаления объектов из S3 по расписанию вы используете s3 события жизненного цикла однако наименьшее количество времени составляет 1 день, так что это не сработает в вашем случае.

Скорее всего, вам понадобится какой-нибудь пользовательский код, выполняющий где-то, который очищает файлы для вас по расписанию, которое вам нужно .

...