Версионирование контейнера

Версионирование позволяет хранить предыдущие версии объектов. При подключении версионирования создается отдельный контейнер для хранения версий.

Подключить версионирование можно в панели управления или через Swift API.

Принцип работы

Когда объект впервые загружается в основной контейнер, он не попадает в контейнер для хранения версий. При повторной загрузке объекта в основной контейнер новая версия заменяет предыдущую (новой версией считается файл с таким же именем, при этом содержимое файла может не отличаться). Предыдущая версия удаляется из основного контейнера и перемещается в папку внутри контейнера для хранения версий.

Имя версии объекта генерируется в формате Unix Timestamp и соответствует дате создания версии. Имя папки генерируется в формате <number>.<file_name>, где <number> — шестнадцатеричное представление длины имени файла.

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

Стоимость

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

Подключить версионирование

  1. В панели управления перейдите в раздел Облачное хранилищеХранилище.
  2. Откройте вкладку Контейнеры.
  3. Откройте страницу контейнера → вкладка Настройки контейнера.
  4. В блоке Версионирование нажмите Включить.
  5. Введите имя контейнера для хранения версий или оставьте имя по умолчанию.
  6. Нажмите Сохранить.

Отключить версионирование

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

  1. В панели управления перейдите в раздел Облачное хранилищеХранилище.
  2. Откройте вкладку Контейнеры.
  3. Откройте страницу основного контейнера → вкладка Настройки контейнера.
  4. В блоке Версионирование нажмите Выключить.
  5. Нажмите Сохранить.

Ограничить версионирование

В контейнере для хранения версий можно ограничить размер, количество и время хранения версий объектов через настройку лимитов.

При достижении лимита запросы на добавление версий в контейнер будут возвращать ошибку.