Управлять версионированием контейнера
Версионирование позволяет хранить предыдущие версии объектов. При подключении версионирования создается отдельный контейнер для хранения версий.
Подключить версионирование можно в панели управления или через Swift API.
Принцип работы
Когда объект впервые загружается в основной контейнер, он не попадает в контейнер для хранения версий. При повторной загрузке объекта в основной контейнер новая версия заменяет предыдущую (новой версией считается файл с таким же именем, при этом содержимое файла может не отличаться). Предыдущая версия удаляется из основного контейнера и перемещается в папку внутри контейнера для хранения версий.
Имя версии объекта генерируется в формате Unix Timestamp и соответствует дате создания версии. Имя папки генерируется в формате <number>.<file_name>
, где <number>
— шестнадцатеричное представление длины имени файла.
Версионирование работает только при загрузке новых версий объектов. Если удалить объект в основном контейнере, он не попадет в контейнер для хранения версий и его нельзя будет восстановить. Предыдущие версии в контейнере для хранения версий сохранятся.
Стоимость
Подключить версионирование можно бесплатно. Оплата осуществляется только за объем хранения, подробнее в статье Оплата Объектного хранилища.
Подключить версионирование
- В панели управления перейдите в раздел Объектное хранилище → Хранилище.
- Откройте вкладку Контейнеры.
- Откройте страницу контейнера → вкладка Настройки контейнера.
- В блоке Версионирование нажмите Включить.
- Введите имя контейнера для хранения версий или оставьте имя по умолчанию.
- Нажмите Сохранить.
Отключить версионирование
После отключения версионирования контейнер для хранения версий и объекты в нем удалены не будут. При загрузке новых версий в основной контейнер предыдущие версии не будут перемещаться в контейнер для хранения версий.
- В панели управления перейдите в раздел Объектное хранилище → Хранилище.
- Откройте вкладку Контейнеры.
- Откройте страницу основного контейнера → вкладка Настройки контейнера.
- В блоке Версионирование нажмите Выключить.
- Нажмите Сохранить.
Ограничить версионирование
В контейнере для хранения версий можно ограничить размер, количество и время хранения версий объектов через настройку лимитов.
При достижении лимита запросы на добавление версий в контейнер будут возвращать ошибку.