Data transfers allow you to move data between buckets. You can use a data transfer, for example, when you need to replicate and back up your data in a bucket or when you want to migrate from a different region or third-party storage service. Data transfers support both Object Storage in Nebius AI Cloud and S3-compatible third-party services as sources and destinations. For more information, see Bucket requirements for data transfers. You can manage data transfers in the web console or by using the CLI or the provider for Terraform. For instructions, see Launching transfers and Managing transfers.Documentation Index
Fetch the complete documentation index at: https://docs.nebius.com/llms.txt
Use this file to discover all available pages before exploring further.
Iterations
Data transfers consist of consecutive iterations. Each iteration passes the source and destination buckets once. At each iteration, Object Storage performs the following steps:-
Makes a
ListObjectsrequest for every 1000 objects in the source bucket. -
Makes
HeadObjectrequests to both the source and destination buckets for every listed object, and then determines which objects need to be transferred:- If you allow overwriting destination objects, a source object that is newer than its destination pair (based on the
Last-Modifiedheader) overwrites it. If you also allow overwriting unmanaged objects, the same applies to objects in the destination that weren’t transferred at previous iterations. - After the first successful iteration, source objects that were last modified before the last successful iteration are skipped to reduce synchronization costs (unless the source object’s pair in the destination is now older than the object itself and overwriting objects is allowed).
- If you allow overwriting destination objects, a source object that is newer than its destination pair (based on the
-
For every object that needs to be transferred:
-
If the object is less than 100 MB, makes a single
GetObjectrequest to the source bucket and a singlePutObjectrequest to the destination bucket. -
For larger objects, makes the following requests:
CreateMultipartUploadto the destination bucket.GetObjectto the source bucket andUploadPartto the destination bucket for every approximately 50 MB of the object.CompleteMultipartUploadto the destination bucket after uploading all parts.
-
If the object is less than 100 MB, makes a single
Number of iterations and empty iterations
You can configure a data transfer to stop after one iteration or after a number of consecutive empty iterations, or to continue indefinitely. An empty iteration is an iteration where no data is transferred because the following conditions are met:- All objects in the source are unchanged since the last successful iteration (this doesn’t apply to deleted objects).
- If overwriting destination objects is allowed, all objects in the destination (including objects that weren’t transferred at previous iterations, if overwriting unmanaged objects is allowed) were last modified at the same time as their pairs in the source.
Costs
The cost of a data transfer consists of the costs for the source and destination buckets. The data transfer itself doesn’t incur additional costs.| Destination: Nebius | Destination: external | |
|---|---|---|
| Source: Nebius |
|
|
| Source: external |
| Not supported |