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