Жизненный цикл объектов

VK Object Storage позволяет настроить жизненный цикл (lifecycle) объектов в бакете. Жизненный цикл — это автоматизированное удаление из бакета объектов или их версий по заданным правилам.

Правила устанавливаются на уровне одного бакета. Настроить жизненный цикл для группы бакетов или проекта нельзя.

В личном кабинете управлять правилами жизненного цикла можно только по отдельности. Добавлять, удалять и изменять сразу несколько правил можно через:

Особенности создания правил жизненного цикла:

  • Конфигурация должна содержать как минимум одно правило.

  • Наименование правила (параметр ID) — уникальный идентификатор, состоящий только из цифр, латинских букв и символов _, . и -.

  • Каждое правило жизненного цикла включает в себя:

    • Фильтр (параметр Filter) для выбора объектов, попадающих под правило. Может содержать один или два вида фильтрации:

      • По префиксу ключа объекта (параметр Prefix). Примеры префиксов: image, image/, image/photo.

        Одно правило может содержать только один префикс. Чтобы фильтровать объекты по нескольким префиксам, нужно создать отдельное правило для каждого из префиксов.

      • По тегам объекта (параметр Tag или Tags).

    • Время жизни объекта (параметр Expiration). Определяет, когда объект должен быть удален:

      • через заданное количество дней после загрузки;
      • в заданное время (только с помощью API и AWS CLI).
  • После добавления правила оно автоматически применяется к соответствующим объектам или версиям объектов в бакете.

    Далее объекты удаляются в фоновом режиме: сначала, по истечении времени жизни, становятся недоступными, а затем удаляются в порядке очереди в течение следующих 24 часов.

Ограничения:

  • Для каждого бакета можно установить не более 50 правил.
  • При создании правил через API размер XML-файла с правилами не должен превышать 512 КБ.

Правила жизненного цикла работают в фоновом режиме и не влияют на производительность сервиса VK Object Storage.

Конфигурация правил жизненного цикла

  • ID — уникальный идентификатор правила.
  • Status — статус правила. Возможные значения:

Для JSON-конфигурации все правила задаются в виде массива (array) Rules, содержащего элементы Rules[i] формата object.