[Документация Yandex Cloud](../../../index.md) > [Yandex Object Storage](../../index.md) > Справочник API > [AWS S3 REST](../index.md) > [REST](index.md) > Multipart upload > Общий порядок составной загрузки

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

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

Информацию о максимальном размере объекта для загрузки смотрите в разделе [Квоты и лимиты в Object Storage](../../concepts/limits.md).

Составная загрузка состоит из следующих шагов:
1. Инициализация загрузки.
    Пользователь отправляет [запрос на начало составной загрузки (CreateMultipartUpload)](multipart/startupload.md), а Object Storage возвращает идентификатор, который следует использовать для всех последующих операций с загрузкой.
    Пользовательские метаданные объекта следует передавать на этом этапе загрузки.
1. Загрузка объекта по частям.
    Каждая часть объекта отправляется [отдельным запросом (UploadPart)](multipart/uploadpart.md) и должна иметь порядковый номер, который используется для сборки объекта на стороне Object Storage. Если Object Storage получит две части объекта с одинаковыми номерами, то сохранит последнюю пришедшую.
    Для каждой загруженной части Object Storage возвращает заголовок `ETag` в ответе. Пользователь должен сохранить номера и соответствующие им `ETag` для всех загруженных частей. Это необходимо для операции завершения загрузки.
    В процессе загрузки можно получить от Object Storage [список уже загруженных частей объекта (ListParts)](multipart/listparts.md).
1. Завершение загрузки.
    При получении [запроса на завершение загрузки (CompleteMultipartUpload)](multipart/completeupload.md) Object Storage собирает все загруженные части в единый объект и присоединяет к объекту метаданные, которые были переданы при инициализации загрузки.

    {% note info %}

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

    {% endnote %}

    Помимо запроса на завершение загрузки пользователь может отправить [запрос о прерывании загрузки (AbortMultipartUpload)](multipart/abortupload.md). В этом случае Object Storage удалит все полученные части объекта для заданной загрузки и удалит саму загрузку.
    После завершения или прерывания загрузки пользователь не сможет более использовать идентификатор загрузки в запросах.

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

Можно [получить список незавершенных загрузок (ListMultipartUploads)](multipart/listuploads.md).

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

Метод|Описание
-----|--------
[CreateMultipartUpload](multipart/startupload.md) | Инициализирует составную загрузку.
[UploadPart](multipart/uploadpart.md) | Загружает часть объекта.
[UploadPartCopy](multipart/copypart.md) | Копирует часть объекта.
[ListParts](multipart/listparts.md) | Выдает список загруженных частей.
[AbortMultipartUpload](multipart/abortupload.md) | Прерывает составную загрузку.
[CompleteMultipartUpload](multipart/completeupload.md) | Завершает составную загрузку.
[ListMultipartUploads](multipart/listuploads.md) | Выдает список незавершенных загрузок.

#### Полезные ссылки {#see-also}

* [Начало работы с AWS S3 API в Yandex Object Storage](../s3-api-quickstart.md)

* [Отладка запросов с помощью утилиты AWS CLI](../signing-requests.md#debugging)

* [Пример отправки подписанного запроса с помощью утилиты curl](../../api-ref/authentication.md#s3-api-example)

* [Пример кода для генерации подписи](../../concepts/pre-signed-urls.md#code-examples)