Загрузка объекта
Вы можете загружать объекты разными способами: через веб-консоль, API, SDK, а также с помощью консольных утилит. В Object Storage выделяются два вида загрузки: простая и составная.
Простая загрузка
Заголовок раздела «Простая загрузка»Простая загрузка — это метод загрузки, при котором один объект загружается в Object Storage за одну операцию. Этот метод отличается простотой и хорошо подходит для объектов небольшого размера.
Особенности и ограничения
Заголовок раздела «Особенности и ограничения»- Простая загрузка подходит для объектов размером не более 5ГБ. С объектами большего размера используйте составную загрузку или такие инструменты, как AWS CLI, Cyberduck, WinSCP и S3Browser, которые нативно поддерживают составную загрузку.
- Простую загрузку невозможно возобновить: если произойдет сбой или разрыв соединения, операцию потребуется начинать заново.
Загрузить объект (простая загрузка)
Заголовок раздела «Загрузить объект (простая загрузка)»- Веб-консоль
- AWS CLI
- Python
- Go
- В веб-консоли выберите нужный проект.
- В списке сервисов выберите Object Storage.
- Нажмите на имя нужного бакета.
- Если вам нужно загрузить объект в конкретную папку, нажмите на нее. Если папка еще не создана, создайте ее.
- Нажмите кнопку Загрузить.
- Выберите на локальном компьютере нужный файл и нажмите кнопку Открыть. Также файл можно просто перетащить в форму загрузки.
Составная загрузка
Заголовок раздела «Составная загрузка»Составная загрузка — это загрузка объекта не целиком, а по частям. Этот вид загрузки используется для объектов большого размера и имеет следующие преимущества:
- вы можете загружать части параллельно, что ускоряет процесс загрузки;
- если возникают ошибки сети, требуется повторная загрузка ранее не загруженных частей, а не объекта целиком;
- вы можете приостановить и возобновить загрузку в любой момент.
Загрузить объект (составная загрузка)
Заголовок раздела «Загрузить объект (составная загрузка)»- AWS CLI
- Python
- Go
Чтобы загрузить объект большого размера по частям с помощью AWS CLI:
Создайте составную загрузку:
bash aws s3api create-multipart-upload --bucket bucket --key large_fileВ ответе API Object Storage вернет JSON-объект, включающий идентификатор составной загрузки (поле
UploadId):json {"ServerSideEncryption": "AES256","Bucket": "bucket","Key": "large_file","UploadId": "000628088DD8F79E"}Скопируйте и сохраните полученный идентификатор загрузки.
Загрузите первую часть объекта:
bash aws s3api upload-part --bucket bucket --key large_file --part-number 1 --body large_file.001 --upload-id 000628088DD8F79EВ ответе API Object Storage вернет ETag для загруженной части. Скопируйте и сохраните его.
Повторите предыдущий шаг для всех остальных частей.
Просмотреть список текущих составных загрузок
Заголовок раздела «Просмотреть список текущих составных загрузок»- AWS CLI
- Python
- Go
aws s3api list-multipart-uploads --bucket <имя бакета>Остановить указанную составную загрузку
Заголовок раздела «Остановить указанную составную загрузку»- AWS CLI
- Python
- Go
aws s3api abort-multipart-upload --bucket <имя бакета> --key "<ключ объекта>" --upload-id "<идентификатор загрузки"Остановить все незавершенные составные загрузки
Заголовок раздела «Остановить все незавершенные составные загрузки»- AWS CLI
- Python
- Go
aws s3api list-multipart-uploads --bucket multipart \ --query 'Uploads[].[Key, UploadId]' \ --output text | \while read key uploadid; do echo "Stopping upload: $key" aws s3api abort-multipart-upload \ --bucket multipart \ --key "$key" \ --upload-id "$uploadid"done