---
title: 'Загрузить объект'
sidebar_label: 'Загрузить объект'
description: 'Как загрузить объект с помощью простой или сегментированной загрузки'
sidebar_position: 1
---

import Formbricks from '@theme/MDXComponents/Formbricks'
import ArrowNestedIcon from '@selectel/docux/icons/arrow-nested'

# Загрузить объект

Загружать объекты в бакет можно двумя способами:

* [простая загрузка](#upload) доступна через панель управления, [API](/api/#data-storage-and-processing) и [инструменты для работы c S3](/s3/tools/). Мы не рекомендуем использовать ее для загрузки объектов более 1 ГБ;
* [сегментированная загрузка](#segmented-upload) возможна через [Swift API](/api/object-storage-swift/), [S3 API](/api/object-storage-s3/) и некоторые [инструменты для работы c S3](/s3/tools/). Ее рекомендуется использовать для файлов размером более 1 ГБ.

Загрузить в бакет можно любое количество объектов, если не установлены [лимиты бакета](/s3/buckets/limits.mdx).

При загрузке объектов через [S3 API](/api/object-storage-s3/) можно использовать [условные запросы](/s3/objects/conditional-requests.mdx).

Если в бакете используется [Object Lock](/s3/buckets/object-lock.mdx) и включена блокировка объектов по умолчанию, для загруженных объектов будет применяться временная блокировка.

## Простая загрузка \{#upload}

Мы не рекомендуем использовать кириллицу в именах объектов.

1. В [панели управления](https://my.selectel.ru/storage/) в верхнем меню нажмите **Продукты** и выберите **S3**.
2. Перейдите в раздел **Бакеты**.
3. Откройте страницу бакета → вкладка **Объекты**.
4. Нажмите **Загрузить файлы**
5. Выберите объекты для загрузки.

## Сегментированная загрузка \{#segmented-upload}

Сегментированная загрузка — это загрузка объектов по частям (сегментам), которую рекомендуется использовать для файлов размером более 1 ГБ.

Сегментированная загрузка возможна через [Swift API](/api/object-storage-swift/) (технология SLO/DLO), [S3 API](/api/object-storage-s3/) (технология Multipart Upload) и некоторые [инструменты для работы c S3](/s3/tools/).
Процесс сегментированной загрузки зависит от используемого API и инструмента.
Некоторые инструменты ([Rclone](/s3/tools/rclone.mdx), [Cyberduck](/s3/tools/cyberduck.mdx)) поддерживают сегментированную загрузку и автоматически включают ее для объектов больше определенного размера.
В остальных случаях ее нужно инициализировать вручную.

С помощью сегментированной загрузки можно:

* загружать большие объекты сегментами меньшего размера;
* увеличить скорость загрузки объектов с помощью параллельных запросов;
* при сбоях в соединении не загружать объект заново, а повторять загрузку только нужных сегментов.

Если сегментированная загрузка завершилась некорректно, то сегменты, которые успели загрузиться (incomplete multipart uploads), будут поставлены в очередь на удаление через шесть месяцев.
Из-за особенностей [удаления сегментированных объектов](/s3/objects/delete-object.mdx#delete-segmented-object) такие сегменты могут не удалиться.
Selectel не гарантирует время окончания удаления и то, что сегменты незавершенной сегментированной загрузки точно будут удалены.
Контроль и удаление сегментов находится в зоне ответственности клиентов Selectel.

### Принцип работы \{#principle-of-operation}

При сегментированной загрузке объекта в основной бакет (`<bucket_name>`) создается служебный бакет, в который будут помещаться сегменты объектов:

* при загрузке объектов через S3 API бакет создается автоматически и называется `<bucket_name>_s3multipartuploads`;
* при загрузке объектов через Swift API бакет создается с помощью утилиты API или SDK и называется `<bucket_name>_segments` или `<bucket_name>.file-segments`.

В основной бакет (`<bucket_name>`) вместо объекта загружается манифест — файл с описанием сегментов и пути до них. При скачивании файла-манифеста сегменты автоматически подставляются в объект.

По умолчанию служебные бакеты не отображаются в панели управления в списке бакетов S3 — вы можете [включить отображение служебных бакетов](/s3/manage/enable-segmented-buckets-listing.mdx) в настройках.

### Особенности \{#features}

При загрузке объектов через API учитывайте:

* [ограничения S3](/s3/about/limitations.mdx);
* особенности [удаления сегментированных объектов](/s3/objects/delete-object.mdx#delete-segmented-object);
* рекомендации не использовать кириллицу в именах объектов.

Если вы используете [Object Lock](/s3/buckets/object-lock.mdx) и включаете, изменяете или удаляете блокировку объекта или временную блокировку по умолчанию в бакете, все сегменты объекта наследуют настройки блокировки объекта.
Если объект заблокирован, удалить его сегменты нельзя, пока активна блокировка.
При этом у сегментов объекта не будет отображаться информация о блокировке — [проверить наличие блокировки](/s3/objects/manage-object-lock.mdx) можно только у самого объекта.

## Повторная загрузка объекта \{#reupload}

Если имя загружаемого объекта совпадает с именем объекта в бакете, поведение зависит от того, включено ли [версионирование](/s3/buckets/versioning.mdx) в бакете:

* если версионирование включено:

  * новый объект станет текущей версией объекта, ему будет присвоен [ID версии](/s3/buckets/versioning.mdx#version-id);
  * предыдущая версия объекта не перезапишется новой, а перенесется в [список версий объекта](/s3/buckets/versioning.mdx#view-versions-list) с таким же именем;

* если версионирование приостановлено или выключено, новый объект перезапишет предыдущий.

## Скорость загрузки \{#upload-speed}

На скорость загрузки объектов в бакеты влияет:

* пропускная способность канала;
* режим соединения;
* используемые программы менеджера загрузок;
* расстояние между серверами хранилища и вами;
* нагруженность хоста.

## Тарификация \{#tariffication}

При любом способе загрузки [тарифицируется](/s3/about/payment.mdx#payment-model) объем хранения, количество запросов к API и исходящий трафик.

* при [простой загрузке](#upload) тарифицируется объем хранения целого объекта;
* при [сегментированной загрузке](#segmented-upload) объект хранится в сегментах, поэтому фактически тарифицируются только сегменты. Файл манифеста занимает минимальный объем (несколько КБ), поэтому стоимость хранения объекта с сегментами почти не отличается от стоимости хранения целого объекта.

<Formbricks />
