Object Storage позволяет создавать, просматривать, изменять и удалять конфигурацию Lifecycle бакета.
Управлять Lifecycle можно с помощью AWS S3 API и сторонних инструментов. Раздел содержит инструкции по работе с конфигурацией через AWS S3 API и AWS CLI.
Доступ к управлению Lifecycle зависит от роли пользователя. Просматривать конфигурацию могут пользователи с ролями s3e.viewer-acl, s3e.auditor и s3e.admin, создавать, редактировать и удалять — s3e.editor-acl и s3e.admin.
В качестве адреса хранилища <endpoint> указывайте s3.cloud.ru.
Чтобы просмотреть список правил Lifecycle в бакете:
Выполните команду:
aws s3api get-bucket-lifecycle-configuration \--bucket <bucket_name> \--endpoint-url https://<endpoint>
Где <bucket_name> — название бакета.
Пример вывода:
{"Rules": [{"Expiration": {"Days": 3},"ID": "expire-folder-file-after-3-days","Prefix": "folder/file","Status": "Enabled"}]}
Подробнее о структуре конфигурации Lifecycle.
Если конфигурация Lifecycle не задана, вернется ошибка «NoSuchLifecycleConfiguration» с кодом 404.
AWS S3 API и AWS CLI не позволяют управлять правилами точечно. Чтобы добавить, отредактировать или удалить правило, обновите конфигурацию Lifecycle бакета целиком.
(Опционально) Если в бакете уже настроены правила Lifecycle и их нужно полностью или частично сохранить, получите текущую конфигурацию Lifecycle бакета.
Создайте новую конфигурацию Lifecycle или внесите изменения в текущую: добавьте новое правило, отредактируйте или удалите существующее. Сохраните актуальную конфигурацию в json-файл.
Пример конфигурации:
{"Rules": [{"ID": "delete-old-logs","Status": "Enabled","Filter": {"Prefix": "logs/"},"Expiration": {"Days": 30}}]}
Правило задает удаление объектов с префиксом logs/ через 30 дней после загрузки.
Подробнее о структуре правил Lifecycle — в разделе Общие принципы и структура правил Lifecycle.
При создании первого правила задается тип фильтрации для всех правил Lifecycle бакета. Все последующие правила конфигурации должны будут использовать тот же тип фильтрации.
Обновите конфигурацию Lifecycle бакета:
aws s3api put-bucket-lifecycle-configuration \--bucket <bucket_name> \--endpoint-url https://<endpoint> \--lifecycle-configuration file://<path_to_lifecycle_configuration>
Где:
<bucket_name> — название бакета.
<path_to_lifecycle_configuration> — путь к json-файлу с конфигурацией.
Конфигурация Lifecycle бакета будет обновлена. Обновленные правила будут действовать как для уже загруженных объектов, так и для объектов, которые будут загружены позже.
Когда все условия правила выполняются, действие по правилу не совершается моментально. Хранение данных тарифицируется до тех пор, пока они не удалены физически.
Чтобы удалить конфигурацию Lifecycle бакета:
Инструкция описывает удаление всех правил Lifecycle бакета — после выполнения шагов ниже восстановить правила будет невозможно. Чтобы удалить одно или несколько правил, используйте инструкцию по изменению конфигурации.
Выполните команду:
aws s3api delete-bucket-lifecycle \--bucket <bucket_name> \--endpoint-url https://<endpoint>
Где <bucket_name> — название бакета.
Конфигурация Lifecycle бакета будет удалена.