Конфигурация жизненных циклов объектов в бакете
Статья создана
Обновлена 15 июля 2024 г.
Object Storage позволяет управлять жизненными циклами объектов в бакете. Для загрузки конфигурации жизненных циклов в Object Storage необходимо сформировать XML-документ, описанный в этом разделе. При скачивании существующей конфигурации, вы получите документ такого же формата.
Общий вид конфигурации:
<LifecycleConfiguration>
<Rule>
<ID>Описание правила</ID>
<Status>{Enabled|Disabled}</Status>
<Filter>
<And>
<ObjectSizeGreaterThan>минимальный размер объекта</ObjectSizeGreaterThan>
<ObjectSizeLessThan>максимальный размер объекта</ObjectSizeLessThan>
<Prefix>префикс ключа</Prefix>
<Tag>
<Key>ключ метки</Key>
<Value>значение метки</Value>
</Tag>
...
</And>
<ObjectSizeGreaterThan>минимальный размер объекта</ObjectSizeGreaterThan>
<ObjectSizeLessThan>максимальный размер объекта</ObjectSizeLessThan>
<Prefix>префикс ключа</Prefix>
<Tag>
<Key>ключ метки</Key>
<Value>значение метки</Value>
</Tag>
</Filter>
<Transition>
<StorageClass>Идентификатор класса хранилища</StorageClass>
<!-- <Date> или <Days> -->
</Transition>
<Expiration>
<!-- <Date> или <Days> -->
<!-- <ExpiredObjectDeleteMarker> -->
</Expiration>
<NoncurrentVersionTransition>
<StorageClass>Идентификатор класса хранилища</StorageClass>
<NoncurrentDays>Перенос версий, которые старше указанного количества дней</NoncurrentDays>
</NoncurrentVersionTransition>
<NoncurrentVersionExpiration>
<NoncurrentDays>Удаление версий, которые старше указанного количества дней</NoncurrentDays>
</NoncurrentVersionExpiration>
<AbortIncompleteMultipartUpload>
<DaysAfterInitiation>Удаление загрузок, не завершенных за указанное количество дней</DaysAfterInitiation>
</AbortIncompleteMultipartUpload>
...
</Rule>
<Rule>
...
</Rule>
...
</LifecycleConfiguration>
Конфигурация может содержать до 1000 правил.
Элементы
Элемент | Описание |
---|---|
LifecycleConfiguration |
Корневой элемент XML-документа. Может содержать до 1000 элементов Rule .Путь: LifecycleConfiguration . |
Rule |
Описание правила. Объекты, попадающие под действие правила задаются элементом Filter . Действия над объектами определяются элементами Transition и Expiration . Действий каждого типа может быть несколько.Путь: LifecycleConfiguration\Rule . |
ID |
Уникальный идентификатор правила. Произвольный текст длиной до 255 символов, например "Удалить через 20 дней". Необязательный параметр, который можно использовать для поиска правила в конфигурации. Если идентификатор не указан, то Object Storage генерирует его автоматически. Путь: LifecycleConfiguration\Rule\ID . |
Status |
Статус правила. Правило можно активировать, установив <Status>Enabled</Status> , или отключить, установив <Status>Disabled</Status> .Путь: LifecycleConfiguration\Rule\Status . |
Filter |
Фильтр объектов. Содержит не более одного элемента каждого типа: And , Prefix , ObjectSizeGreaterThan , ObjectSizeLessThan , Tag .Если установить пустой фильтр <Filter></Filter> , то правило применяется ко всем объектам в бакете.Путь: LifecycleConfiguration\Rule\Filter . |
ObjectSizeGreaterThan |
Минимальный размер объекта в байтах. Под действие правила попадают объекты, размер которых больше или равен указанному. Фильтр может содержать только один минимальный размер объекта. Путь: LifecycleConfiguration\Rule\Filter\ObjectSizeGreaterThan . |
ObjectSizeLessThan |
Максимальный размер объекта в байтах. Под действие правила попадают объекты, размер которых меньше или равен указанному. Фильтр может содержать только один максимальный размер объекта. Путь: LifecycleConfiguration\Rule\Filter\ObjectSizeLessThan . |
Prefix |
Префикс ключа. Под действие правила попадают объекты с указанным префиксом ключа. Примеры префиксов для ключа some/long/object/key : some , some/ , some/lo .Фильтр может содержать только один префикс. Путь: LifecycleConfiguration\Rule\Filter\Prefix . |
Tag |
Метка объекта Под действие правила попадают объекты, которым присвоена указанная метка. Фильтр может содержать только одну метку объекта. Путь: LifecycleConfiguration\Rule\Filter\Tag . |
And |
Логический оператор И (AND ) для фильтров.Может содержать любое сочетание следующих элементов: Prefix , ObjectSizeGreaterThan , ObjectSizeLessThan , Tag .Путь: LifecycleConfiguration\Rule\Filter\And . |
Key |
Ключ метки объекта Путь: LifecycleConfiguration\Rule\Filter\Tag\Key . |
Value |
Значение метки объекта Путь: LifecycleConfiguration\Rule\Filter\Tag\Value . |
Transition |
Правило для изменения класса хранилища объекта. Содержит элемент StorageClass , который определяет целевой класс хранилища, а также элемент Date или Days , который определяет срок исполнения действия.Переместить объекты можно из стандартного ( STANDARD ) в холодное (COLD ) или ледяное (ICE ) хранилище, а также из холодного в ледяное хранилище.Путь: LifecycleConfiguration\Rule\Transition\ . |
StorageClass |
Класс хранилища объекта. Путь: LifecycleConfiguration\Rule\Transition\StorageClass . |
Expiration |
Правило для удаления объекта из Object Storage. Содержит элемент Days или Date , который определяет сроки исполнения действия.Дополнительно может содержать ExpiredObjectDeleteMarker — маркер удаления объекта с истекшим сроком действия, который указывает, удалит ли Object Storage маркер удаления при отсутствии неактивных версий.Путь: LifecycleConfiguration\Rule\Expiration . |
Date |
Дата исполнения правила. Формат — ISO 8601 YYYY-MM-DD . Время — всегда 00:00 UTC.Путь: LifecycleConfiguration\Rule\Expiration\Date . |
Days |
Интервал исполнения правила. Задается количеством дней после загрузки объекта. Минимальное значение — 1. Путь: LifecycleConfiguration\Rule\Expiration\Days . |
NoncurrentVersionTransition |
Правило для изменения класса хранилища неактивных версий объекта. Это правило применяется не ко всему объекту, а только к его неактивным версиям. Содержит элемент StorageClass , который определяет целевой класс хранилища, а также элемент NoncurrentDays , который определяет срок исполнения действия.Переместить объекты можно из стандартного ( STANDARD ) в холодное (COLD ) или ледяное (ICE ) хранилище, а также из холодного в ледяное хранилище.Путь: LifecycleConfiguration\Rule\NoncurrentVersionTransition . |
NoncurrentVersionExpiration |
Правило для удаления неактивных версий объекта из Object Storage. Это правило применяется не ко всему объекту, а только к его неактивным версиям. Содержит элемент NoncurrentDays , который определяет сроки исполнения действия.Путь: LifecycleConfiguration\Rule\NoncurrentVersionExpiration . |
AbortIncompleteMultipartUpload |
Правило для удаления загрузок, не завершенных за указанное количество дней. Содержит элемент DaysAfterInitiation , который определяет срок исполнения правила.Путь: LifecycleConfiguration\Rule\AbortIncompleteMultipartUpload\ DaysAfterInitiation . |
Пример
Приведенное ниже правило для всех объектов, загруженных в бакет, задает:
- Перемещение в холодное хранилище через 30 дней после загрузки в Object Storage.
- Удаление из Object Storage через 365 дней после загрузки.
- Удаление из Object Storage незавершенных загрузок через 5 дней после начала загрузки.
<LifecycleConfiguration>
<Rule>
<ID>Переместить и потом удалить</ID>
<Status>Enabled</Status>
<Filter>
<Prefix></Prefix>
</Filter>
<Transition>
<StorageClass>COLD</StorageClass>
<Days>30</Days>
</Transition>
<Expiration>
<Days>365</Days>
</Expiration>
<AbortIncompleteMultipartUpload>
<DaysAfterInitiation>5</DaysAfterInitiation>
</AbortIncompleteMultipartUpload>
</Rule>
</LifecycleConfiguration>