Загрузить объект
Загружать объекты в контейнер можно двумя способами:
- простая загрузка доступна через панель управления и API. Ее можно использовать для файлов размером до 100 МБ. Мы не рекомендуем использовать кириллицу в именах объектов;
- сегментированная загрузка возможна только через Swift API и S3 API. Ее рекомендуется использовать для файлов размером более 100 МБ. Мы не рекомендуем использовать кириллицу в именах объектов.
Загрузить в контейнер можно любое количество объектов, если не установлены лимиты контейнера.
Простая загрузка
- В панели управления в верхнем меню нажмите Продукты и выберите Объектное хранилище.
- Перейдите в раздел Контейнеры.
- Откройте страницу контейнера → вкладка Объекты.
- Нажмите Загрузить файлы
- Выберите объекты для загрузки.
Сегментированная загрузка
Сегментированная загрузка — это загрузка объектов по частям (сегментам), которую рекомендуется использовать для файлов размером более 100 МБ.
Сегментированная загрузка возможна только через Swift API (технология SLO/DLO) и S3 API (технология Multipart Upload). Процесс сегментированной загрузки зависит от используемого API и утилиты. Некоторые утилиты API (Rclone, Cyberduck) поддерживают сегментированную загрузку и автоматически включают ее для объектов больше определенного размера. В остальных случаях ее нужно инициализировать вручную.
С помощью сегментированной загрузки можно:
- загружать большие объекты сегментами меньшего размера;
- увеличить скорость загрузки объектов с помощью параллельных запросов;
- при сбоях в соединении не загружать объект заново, а повторять загрузку только нужных сегментов.
При сегментированной загрузке объекта в основной контейнер (<container_name>
) создается служебный контейнер, в который будут помещаться сегменты объектов:
- при загрузке объектов через S3 API контейнер создается автоматически и называется
<container_name>_s3multipartuploads
; - при загрузке объектов через Swift API контейнер создается с помощью утилиты API или SDK и называется
<container_name>_segments
или<container_name>.file-segments
.
В основной контейнер (<container_name>
) вместо объекта загружается манифест — файл с описанием сегментов и пути до них. При скачивании файла-манифеста сегменты автоматически подставляются в объект.
По умолчанию служебные контейнеры не отображаются в панели управления в списке контейнеров объектного хранилища — вы можете включить отображение служебных контейнеров в настройках.
При загрузке объектов через API учитывайте ограничения объектного хранилища. Также учитывайте особенности удаления сегментированных объектов.
Повторная загрузка объекта
Если имя загружаемого объекта совпадает с именем объекта в контейнере, поведение зависит от того, включено ли версионирование в контейнере:
-
если версионирование включено:
- новый объект станет текущей версией объекта, ему будет присвоен ID версии;
- предыдущая версия объекта не перезапишется новой, а перенесется в список версий объекта с таким же именем;
-
если версионирование приостановлено или выключено, новый объект перезапишет предыдущий.
Скорость загрузки
На скорость загрузки объектов в контейнеры влияет:
- пропускная способность канала;
- режим соединения;
- используемые программы менеджера загрузок;
- расстояние между серверами хранилища и вами;
- нагруженность хоста.
Тарификация
При любом способе загрузки тарифицируется объем хранения, количество запросов к API и исходящий трафик.
- при простой загрузке тарифицируется объем хранения целого объекта;
- при сегментированной загрузке объект хранится в сегментах, поэтому фактически тарифицируются только сегменты. Файл манифеста занимает минимальный объем (несколько КБ), поэтому стоимость хранения объекта с сегментами почти не отличается от стоимости хранения целого объекта.