Настройка правил
Конфигурация жизненного цикла представляет собой набор правил. Правила определяются в формате JSON и включают следующую информацию:
- уникальное имя правила;
- статус (
Enabled— правило активно,Disabled— неактивно); - область применения правила (все объекты без исключения, объекты с указанным префиксом или с указанными тегами);
- срок хранения объектов;
- действие, которое нужно совершить после окончания срока хранения.
Параметры конфигурации
Заголовок раздела «Параметры конфигурации»| Параметр | Тип | Значение | Пример |
|---|---|---|---|
ID |
Строка | Уникальный идентификатор правила, который помогает различать его среди других правил | "ID": "ArchiveOldLogs" |
Status |
Строка | Указывает, активно ли правило. Возможные значения:
|
"Status": "Enabled" |
Filter |
Объект | Определяет, к каким объектам применяется правило. Может включать элементы:
|
"Filter": { |
Expiration |
Объект | Определяет срок хранения объекта. Может включать элементы:
|
"Expiration": { |
NonCurrentVersionExpiration |
Объект | Указывает срок хранения неактуальных версий объекта. Может включать элементы:
|
"NoncurrentVersionExpiration": { |
ExpiredObjectDeleteMarker |
Boolean | Указывает, нужно ли удалять маркеры удаления после удаления всех неактуальных версий объекта | "Expiration": { |
AbortIncompleteMultipartUpload |
Объект | Указывает количество дней (DaysAfterInitiation), после которого незавершенные составные загрузки будут автоматически прерваны |
"AbortIncompleteMultipartUpload": { |
Удаление объектов
Заголовок раздела «Удаление объектов»С помощью правил жизненного цикла для объектов можно установить срок, по истечении которого они будут автоматически удаляться.
Вы можете сделать это двумя способами:
- указать конкретную дату, когда объекты должны быть удалены.
Операция удаления имеет свою специфику в зависимости от того, включено ли в бакете версионирование:
- Если версионирование не включено, объект будет удален после того, как закончится срок хранения.
- Если версионирование включено, операция удаления затронет только текущую версию объекта. Будет создан маркер удаления — он станет текущей версией, а предыдущие версии объекта останутся доступными.
- Если версионирование приостановлено, будет создан маркер удаления с идентификатором
null, который станет текущей версией объекта. Текущая версия при этом будет удалена без возможности восстановления, а все предыдущие — останутся доступными.
Удаление по прошествии заданного срока
Заголовок раздела «Удаление по прошествии заданного срока»Вы можете указать в правилах количество дней, по прошествии которого объекты будут считаться подлежащими удалению. Срок хранения объектов всегда округляется до 00:00 UTC следующего дня после достижения указанных даты и времени.
Например, если вы загрузили объект 20 ноября 2025 года в 14:30 MSK (в 11:30 UTC) и назначили для него срок хранения в 1 день, этот срок истечет в 00:00 UTC (03:00 MSK) 22 ноября 2025 года. Начиная с 00:00 UTC 22 ноября 2025 года объект будет считаться подлежащим удалению.
При расчете сроков учитываются только полные дни. Например, если вы загрузили объект 21 ноября 2025 года в 23:59 MSK (в 20:59 UTC) и установили для него срок хранения в 1 день, этот срок истечет в 00:00 UTC (03:00 MSK) 23 ноября.
Удаление в указанную дату
Заголовок раздела «Удаление в указанную дату»В правиле можно указать конкретную дату, когда будет удален объект. В этом случае объект считается подлежащим удалению начиная с 00:00 UTC этой даты независимо от времени загрузки.
Удаление неактуальных версий
Заголовок раздела «Удаление неактуальных версий»С помощью правил жизненного цикла можно настроить автоматическое удаление неактуальных версий объекта.
Удаление маркеров удаления
Заголовок раздела «Удаление маркеров удаления»Когда из бакета с версионированием удаляется текущая версия объекта, а неактуальных версий больше не остается, маркер удаления становится единственной версией объекта. Удалять такие маркеры можно с помощью правила ExpiredObjectDeleteMarker.
Остановка незавершенных загрузок
Заголовок раздела «Остановка незавершенных загрузок»Незавершенные загрузки можно удалять с помощью правил жизненного цикла. Это поможет не прибегать к ручному удалению, а также упростит поддержание порядка и чистоты данных.