Общий порядок составной (multipart) загрузки

    Составная загрузка позволяет сохранять объекты в Object Storage по частям. Это может пригодиться при загрузке или копировании больших объектов. Рекомендуем использовать составную загрузку для объектов от 100 МБ.

    Информацию о максимальном размере объекта для загрузки смотрите в разделе Квоты и лимиты.

    Составная загрузка состоит из следующих шагов:

    1. Инициализация загрузки. Пользователь отправляет запрос на начало составной загрузки, а Object Storage возвращает идентификатор, который следует использовать для всех последующих операций с загрузкой. Пользовательские метаданные объекта следует передавать на этом этапе загрузки.

    2. Загрузка объекта по частям. Каждая часть объекта отправляется отдельным запросом и должна иметь порядковый номер, который используется для сборки объекта на стороне Object Storage. Если Object Storage получит две части объекта с одинаковыми номерами, то сохранит последнюю пришедшую. Для каждой загруженной части Object Storage возвращает заголовок ETag в ответе. Пользователь должен сохранить номера и соответствующие им ETag для всех загруженных частей. Это необходимо для операции завершения загрузки. В процессе загрузки можно получить от Object Storage список уже загруженных частей объекта.

    3. Завершение загрузки. При получении запроса на завершение загрузки Object Storage собирает все загруженные части в единый объект и присоединяет к объекту метаданные, которые были переданы при инициализации загрузки.

      Примечание

      Пока загрузка не завершена, части объекта сохраняются по отдельности и занимают место, при этом их нельзя получить из Object Storage. Незавершенные загрузки учитываются при расчете занятого места.

      Помимо запроса на завершение загрузки пользователь может отправить запрос о прерывании загрузки. В этом случае Object Storage удалит все полученные части объекта для заданной загрузки и удалит саму загрузку. После завершения или прерывания загрузки пользователь не сможет более использовать идентификатор загрузки в запросах.

    Пользователь может одновременно запустить несколько составных загрузок.

    Можно получить список незавершенных загрузок.

    Методы составной загрузки:

    Метод Описание
    startUpload Инициализирует составную загрузку.
    uploadPart Загружает часть объекта.
    copyPart Копирует часть объекта.
    listParts Выдает список загруженных частей.
    abortUpload Прерывает составную загрузку.
    completeUpload Завершает составную загрузку.
    listUploads Выдает список незавершенных загрузок.