Облачная платформаEvolution

Фильтрация объектов в правиле Lifecycle


Фильтрация позволяет задать объекты бакета, к которым будет применяться правило Lifecycle.

После фильтрации к выбранным объектам применяются действия. Описание структуры правила Lifecycle и примеры конфигурации — в разделе Общие принципы и структура правила Lifecycle.

Тип фильтрации

Object Storage поддерживает два типа фильтрации:

Примечание

Рекомендуется использовать тип фильтрации с Filter в корне правила. Он является более гибким. При выборе также учитывайте ограничения по типу фильтрации.

Тип фильтрации

Описание

Пример

Filter в корне правила

Значение может быть пустым — правило будет применяться ко всем объектам бакета.

  • Конфигурация устанавливает автоматическое удаление объектов с префиксом logs/ через 365 дней после загрузки. Filter указан в корне правила Rule. Фильтр по префиксу Prefix вложен в элемент Filter.

    <LifecycleConfiguration>
    <Rule>
    <ID>filter-example</ID>
    <Filter>
    <Prefix>logs/</Prefix>
    </Filter>
    <Status>Enabled</Status>
    <Expiration>
    <Days>365</Days>
    </Expiration>
    </Rule>
    </LifecycleConfiguration>
  • Конфигурация устанавливает автоматическое удаление объектов с префиксом logs/ и тегом source: mail через 365 дней после загрузки. Элемент And внутри Filter объединяет условия Prefix и Tag.

    <LifecycleConfiguration>
    <Rule>
    <ID>filter-and-example</ID>
    <Filter>
    <And>
    <Prefix>logs/</Prefix>
    <Tag>
    <Key>source</Key>
    <Value>mail</Value>
    </Tag>
    </And>
    </Filter>
    <Status>Enabled</Status>
    <Expiration>
    <Days>365</Days>
    </Expiration>
    </Rule>
    </LifecycleConfiguration>

Prefix в корне правила

Позволяет фильтровать объекты только по префиксу.

Значение может быть пустым — правило будет применяться ко всем объектам бакета.

Конфигурация устанавливает автоматическое удаление объектов с префиксом logs/ через 365 дней после загрузки. Фильтр по префиксу Prefix указан в корне правила Rule.

<LifecycleConfiguration>
<Rule>
<ID>prefix-example</ID>
<Prefix>logs/</Prefix>
<Status>Enabled</Status>
<Expiration>
<Days>365</Days>
</Expiration>
</Rule>
</LifecycleConfiguration>

Ограничения при выборе типа фильтрации

В рамках конфигурации Lifecycle для бакета можно использовать только один тип фильтрации. Тип выбирается один раз при создании первого правила и определяет структуру всех последующих правил.

Например, если конфигурация содержит одно правило, в котором Prefix указан в корне Rule, новое правило можно добавить только с такой же структурой. Добавить правило с элементом Filter нельзя. Фильтры по тегам и размеру объекта будут недоступны, т. к. их можно указывать только внутри Filter.

Если конфигурация Lifecycle содержит только одно правило, его тип фильтрации можно поменять. Если правил больше, для изменения типа фильтрации правила нужно удалить и создать заново с новым типом.

Ограничение действует и для включенных, и для выключенных правил.

Параметры фильтрации

В таблице ниже описаны параметры фильтрации объектов. Правило применится к объекту, только если он попадает под условия фильтрации.

Параметр

Описание

Ограничения и особенности

Prefix

Начальная часть ключа (названия) объекта. Правило применяется к объектам, ключи которых начинаются с указанного значения.

  • Указывается в корне правила или внутри Filter.

  • При использовании в корне правила значение должно быть уникальным среди всех правил одной конфигурации, т. е. в рамках бакета.

  • Размер — до 1 024 байт.

  • Если префикс пустой, правило применяется ко всем объектам бакета.

Tag

Тег объекта. Содержит ключ Key и опционально — значение Value.

Правило применяется к объектам, тег которых совпадает с тегом, указанным в правиле.

  • Указывается только внутри Filter.

  • Максимальное число тегов в одном правиле — 50.

  • Длина Key — от 1 до 128 символов, Value — от 0 до 256 символов.

  • Если в рамках одного правила указано несколько тегов, значение Key должно быть уникальным.

  • Не используется для действий AbortIncompleteMultipartUpload.

ObjectSizeGreaterThan

Минимальный размер объекта в байтах. Правило применяется к объектам, размер которых строго больше указанного значения.

  • Указывается только внутри Filter.

  • Значение — 0 или целое положительное число не больше 1 000 ТБ.

  • Должно быть меньше значения ObjectSizeLessThan, если оно задано.

  • Не используется для действий AbortIncompleteMultipartUpload.

ObjectSizeLessThan

Максимальный размер объекта в байтах. Правило применяется к объектам, размер которых строго меньше указанного значения.

  • Указывается только внутри Filter.

  • Целое положительное число не больше 1 000 ТБ.

  • Должно быть больше значения ObjectSizeGreaterThan, если оно задано.

  • Не используется для действий AbortIncompleteMultipartUpload.

And

Оператор для объединения нескольких параметров в одном правиле. Правило применяется к объектам, которые удовлетворяют всем условиям, объединенным в And.

  • Указывается только внутри Filter.

  • Может объединять не более 50 элементов Tag и не более одного элемента каждого из типов: Prefix, ObjectSizeGreaterThan и ObjectSizeLessThan.

  • Должен объединять как минимум два условия — например, указать только элемент ObjectSizeGreaterThan нельзя.

  • Не используется для действий AbortIncompleteMultipartUpload.