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

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

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

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

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

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

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

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

Сегментированная загрузка — это загрузка объектов по частям (сегментам), которую рекомендуется использовать для файлов размером более 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 и исходящий трафик.

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