Skip to main content
Upload object
Last update:

Upload object

You can upload objects into a container in two ways:

  • easy uploading is available through the control panel and API. It can be used for files up to 100 MB in size. We do not recommend using Cyrillic characters in object names;
  • segmented uploading can only be done through Swift API and S3 API. It is recommended to use it for files larger than 100 MB. We do not recommend using Cyrillic characters in object names.

You can upload any number of objects into the container, unless you set the container limits.

Easy uploading

If the name of the object being uploaded matches the name of the object in the container, the object will be overwritten.

  1. In the control panel, go to Object StorageContainers.
  2. Open the container page → tab Objects.
  3. Select the objects to upload.

Segmented uploading

Segmented upload is the uploading of objects in parts (segments), which is recommended for files larger than 100 MB. Segmented uploading is only possible via Swift API (SLO/DLO technology) and S3 API (Multipart Upload technology).

It can be used to:

  • upload large objects with smaller segments;
  • increase the speed of object uploading with the help of parallel queries;
  • in case of connection failures, do not reload the object, but repeat uploading of only the necessary segments.

When uploading objects via API, take into account object storage limitations. Also consider the specifics of de-segmentation.

Upload an object

You can upload an object via segmented uploading via the methods S3 API or Swift API methods. The segmented boot process depends on the API and utility used. Some API utilities (Rclone, Cyberduck) support segmented uploading and automatically enable it for objects larger than a certain size. In other cases it must be initialized manually.

When segmented uploading an object into the main container (<container_name>), a service container is created in which the object segments will be placed:

  • when uploading objects via S3 API, the container is created automatically and is called <container_name>_s3multipartuploads
  • When loading objects via the Swift API, the container is created using the API utility or SDK and is called <container_name>_segments or <container_name>.file-segments

In the main container (<container_name>) instead of the object, a manifest — a file with a description of segments and paths to them — is downloaded. When the manifest file is downloaded, the segments are automatically substituted into the object.

By default, service containers do not appear in the control panel in the list of object store containers — you can enable the display of service containers in the settings.

Download speed

The speed of loading objects into containers is affected:

  • channel capacity;
  • connection mode;
  • download manager programs used;
  • the distance between the storage servers and you;
  • host load.

Tariffication

With any boot method tariffed storage capacity, number of API requests and outgoing traffic.

  • at easy loading The storage capacity of an entire object is charged;
  • at segmented loading object is stored in segments, so only segments are actually charged. The manifest file takes a minimal amount of space (a few KB), so the cost of storing an object with segments is almost the same as the cost of storing an entire object.