Перейти к основному содержимому
Загрузить объект
Последнее изменение:

Загрузить объект

Загружать объекты в контейнер можно двумя способами:

  • простая загрузка доступна через панель управления и API. Ее можно использовать для файлов размером до 100 МБ. Мы не рекомендуем использовать кириллицу в именах объектов;
  • сегментированная загрузка возможна только через Swift API и S3 API. Ее рекомендуется использовать для файлов размером более 100 МБ. Мы не рекомендуем использовать кириллицу в именах объектов.

Загрузить в контейнер можно любое количество объектов, если не установлены лимиты контейнера.

Простая загрузка

Если имя загружаемого объекта совпадает с именем объекта в контейнере, объект будет перезаписан.

  1. В панели управления перейдите в раздел Объектное хранилищеКонтейнеры.
  2. Откройте страницу контейнера → вкладка Объекты.
  3. Выберите объекты для загрузки.

Сегментированная загрузка

Сегментированная загрузка — это загрузка объектов по частям (сегментам), которую рекомендуется использовать для файлов размером более 100 МБ. Сегментированная загрузка возможна только через Swift API (технология SLO/DLO) и S3 API (технология Multipart Upload).

С ее помощью можно:

  • загружать большие объекты сегментами меньшего размера;
  • увеличить скорость загрузки объектов с помощью параллельных запросов;
  • при сбоях в соединении не загружать объект заново, а повторять загрузку только нужных сегментов.

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

Загрузить объект

Загрузить объект через сегментированную загрузку можно через методы S3 API или методы Swift API. Процесс сегментированной загрузки зависит от используемого 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 и исходящий трафик.

  • при простой загрузке тарифицируется объем хранения целого объекта;
  • при сегментированной загрузке объект хранится в сегментах, поэтому фактически тарифицируются только сегменты. Файл манифеста занимает минимальный объем (несколько КБ), поэтому стоимость хранения объекта с сегментами почти не отличается от стоимости хранения целого объекта.