Yandex Cloud
  • Сервисы
  • Решения
  • Почему Yandex Cloud
  • Сообщество
  • Тарифы
  • Документация
  • Связаться с нами
Подключиться
Language / Region
© 2022 ООО «Яндекс.Облако»
Yandex Object Storage
  • Начало работы
  • Пошаговые инструкции
    • Все инструкции
    • Бакеты
      • Создание бакета
      • Удаление бакета
      • Ограничение максимального размера бакета
      • Открытие публичного доступа к бакету
      • Шифрование бакета
      • Управление жизненными циклами объектов
      • Управление конфигурацией CORS
      • Управление политикой доступа
      • Управление версионированием бакета
      • Редактирование ACL бакета
      • Включение механизма логированния
    • Объекты
      • Загрузка объекта
      • Получение информации об объекте
      • Скачивание объекта
      • Получение публичной ссылки на объект
      • Удаление объекта
      • Удаление всех объектов
      • Удаление частично загруженного объекта
      • Редактирование ACL объекта
    • Хостинг статических сайтов
      • Настройка хостинга
      • Поддержка собственного домена
      • Поддержка нескольких доменных имен
      • Настройка HTTPS
  • Практические руководства
    • Получение статистики запросов к объекту с использованием S3 Select
    • Получение cтатистики посещения сайта с использованием S3 Select
    • Формирование отчета по ресурсной детализации расходов с использованием S3 Select
    • Шифрование на стороне сервера
    • Интеграция L7-балансировщика с CDN и Object Storage
    • Сине-зеленое и канареечное развертывание версий сервиса
    • Анализ логов с использованием DataLens
    • Использование скриптов инициализации для настройки GeeseFS в Yandex Data Proc
  • Концепции
    • Обзор
    • Бакет
    • Объект
    • Версионирование бакета
    • Жизненные циклы объектов
    • CORS
    • Хостинг статических сайтов
    • Подписанные (pre-signed) URL
    • Составная (multipart) загрузка
    • Список управления доступом (ACL)
    • Политика доступа (Bucket Policy)
    • Загрузка файла через HTML-форму
    • Класс хранилища
    • Механизм логирования действий с бакетом
    • Резервное копирование
    • Протокол TLS
    • Язык запросов S3 Select
    • Квоты и лимиты
  • Инструменты
    • Все инструменты
    • Консольные клиенты
      • AWS CLI
      • S3cmd
    • Файловые браузеры
      • CyberDuck
      • WinSCP
    • SDK
      • AWS SDK для Java
      • Python SDK (boto)
      • AWS SDK для .NET
      • AWS SDK для C++
      • AWS SDK для PHP
      • AWS SDK для Go
    • FUSE
      • GeeseFS
      • s3fs
      • goofys
    • FTP
      • Docker-контейнер для (S)FTP(S)
  • Справочник API
    • REST (совместимый с Amazon S3)
      • Как пользоваться API
      • Подписывание запросов
      • REST
        • Все сервисы и методы
        • Bucket
          • Все методы
          • create
          • getBucketEncryption
          • getMeta
          • listObjects
          • listBuckets
          • deleteBucket
          • deleteBucketEncryption
          • putBucketEncryption
          • putBucketVersioning
          • getBucketVersioning
          • putBucketLogging
          • getBucketLogging
          • listObjectVersions
        • Object
          • Все методы
          • upload
          • get
          • copy
          • getObjectMeta
          • delete
          • deleteMultipleObjects
          • options
          • selectObjectContent
        • Multipart upload
          • Общий порядок составной загрузки
          • startUpload
          • uploadPart
          • copyPart
          • listParts
          • abortUpload
          • completeUpload
          • listUploads
        • Static Website Hosting
          • Все методы
          • upload
          • get
          • delete
          • Коды ответов статического сайта
        • CORS
          • Все методы
          • XML-структура конфигурации CORS
          • upload
          • get
          • delete
        • Lifecycles
          • Все методы
          • XML-структура конфигурации жизненных циклов
          • upload
          • get
          • delete
        • ACL
          • Все методы
          • XML-структура конфигурации ACL
          • objectGetAcl
          • objectPutAcl
          • bucketGetAcl
          • bucketPutAcl
        • Bucket Policy
          • Все методы
          • GetBucketPolicy
          • PutBucketPolicy
          • DeleteBucketPolicy
          • Схема данных
          • Действия
          • Условия
        • Общие заголовки запросов
        • Общие заголовки ответов
        • Ответы
    • gRPC и REST
      • Аутентификация в API
      • gRPC (англ.)
        • Overview
        • BucketService
        • OperationService
      • REST (англ.)
        • Overview
        • Bucket
          • Overview
          • create
          • delete
          • deleteHTTPSConfig
          • get
          • getHTTPSConfig
          • getStats
          • list
          • setHTTPSConfig
          • update
  • Управление доступом
  • Правила тарификации
    • Действующие правила
    • Архив
      • До 1 января 2019 года
      • С 1 января до 1 марта 2019 года
  • Вопросы и ответы
  1. Справочник API
  2. REST (совместимый с Amazon S3)
  3. REST
  4. Multipart upload
  5. Общий порядок составной загрузки

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

Статья создана
Yandex Cloud

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

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

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

    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 Выдает список незавершенных загрузок.

    Была ли статья полезна?

    Language / Region
    © 2022 ООО «Яндекс.Облако»