#python #amazon-web-services #amazon-s3
Вопрос:
У меня есть папки в корзине s3 с надписью:
date=2021-07-01/
date=2021-07-02/
...
date=2021-07-26/
каждый день в корзину загружается новая папка с соответствующей датой, и я хочу автоматически удалять папки, если им больше x дней. В настоящее время у меня есть это, так что управление жизненным циклом s3 обрабатывает его, но оно удаляет папки на основе даты последнего изменения, и иногда определенные папки нуждаются в обновлении, изменяя дату последнего изменения и вызывая их удаление намного позже, чем заданные x дней.
Есть ли способ сделать это с помощью скрипта python, который запускается ежедневно, чтобы проверить, есть ли какие-либо папки, которые слишком старые, и удалить их соответствующим образом?
Комментарии:
1. Да! Где бы вы хотели запустить сценарий-на вашем собственном компьютере, в экземпляре EC2 или «автоматически в облаке»? Вы пробовали написать сценарий? Дайте нам знать, если у вас возникнут какие-то особые проблемы с этим.
Ответ №1:
Есть ли способ сделать это с помощью скрипта python, который запускается ежедневно, чтобы проверить, есть ли какие-либо папки, которые слишком старые, и удалить их соответствующим образом?
Да, способ есть. Точные детали зависят от того, насколько велика корзина S3, так как для этого требуется перечислить все ее содержимое. Но, позитивно думая о том, что ведро «маленькое» (определение конкретного случая использования), обычным способом было бы:
- Создайте лямбда-функцию в python. Функция будет использовать boto3 для запроса списка папок в S3, а также отфильтровывать папки для удаления и удалять их.
- Установите правило запланированного события CloudWatch, чтобы запускать функцию каждый день.