Управление жизненным циклом объектов в корзине

Объектное хранилище S3 позволяет настроить автоматическое удаление отдельных объектов или групп объектов по заданным условиям и расписанию.

Задать конфигурацию жизненных циклов объектов можно только для каждой отдельной корзины. Для загрузки конфигурации можно применять следующие инструменты:

  • S3 API;

  • инструменты для работы с S3-совместимыми хранилищами, например — S3cmd, AWS CLI и другие.

Для управления жизненными циклами с помощью S3 API и совместимых с ним инструментов используется конфигурация в формате XML. Часть инструментов могут требовать иные форматы конфигурации, например, для AWS CLI используется формат JSON.

Для загрузки конфигурации жизненного цикла через S3 API в Объектное хранилище S3 необходимо сформировать XML-документ. При скачивании существующей конфигурации вы получите документ такого же формата.

Общий вид конфигурации:

<LifecycleConfiguration>
    <Rule>
        <ID>Описание правила</ID>
        <Status>{Enabled|Disabled}</Status>
        <Filter>
           <Prefix>префикс_ключа</Prefix>
        </Filter>

        <Expiration>
            <!-- <Date> или <Days> -->
            <!-- <ExpiredObjectDeleteMarker> -->
        </Expiration>

        <NoncurrentVersionExpiration>
            <NoncurrentDays>Удаление версий, которые старше указанного количества дней</NoncurrentDays>
        </NoncurrentVersionExpiration>

        ...
    </Rule>
    <Rule>
      ...
    </Rule>
    ...
</LifecycleConfiguration>

Описание элементов конфигурации

ID

Уникальный идентификатор правила (необязательный параметр). Может содержать произвольный текст на латинице. Используется для поиска правила в конфигурации.

Status

Статус правила. Правило можно активировать, установив значение Enabled, или отключить, установив Disabled.

Filter

Фильтр объектов. Содержит не более одного элемента Prefix. Если фильтр оставить пустым <Filter></Filter>, то правило будет применяться ко всем объектам в корзине.

Prefix

Префикс ключа. Используется для фильтрации объектов, попадающих под действие правила. Фильтр может содержать только один префикс. Примеры префиксов для ключа folder/docs/intermnal/ceo: docs, docs/, docs/internal

Expiration

Правило для удаления объекта из хранилища. Содержит элемент Days или Date, который определяет сроки удаления объекта из хранилища. В одном правиле не может одновременно содержаться оба элемента — Days и Date.

Date

Дата исполнения правила. Формат — ISO 8601, например, YYYY-MM-DD. Время — всегда 00:00 UTC.

Days

Интервал исполнения правила. Задается количеством дней после загрузки объекта.

NoncurrentVersionExpiration

Правило для удаления неактивных версий объекта из хранилища. Это правило применяется не ко всему объекту, а только к его неактивным версиям. Содержит элемент NoncurrentDays, который определяет сроки исполнения действия правила.

Для загрузки, скачивания и удаления конфигурации используйте методы S3 API.