Skip to main content

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.

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.

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:
  1. Makes a ListObjects request for every 1000 objects in the source bucket.
  2. Makes HeadObject requests 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-Modified header) 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).
  3. For every object that needs to be transferred:
    • If the object is less than 100 MB, makes a single GetObject request to the source bucket and a single PutObject request to the destination bucket.
    • For larger objects, makes the following requests:
      1. CreateMultipartUpload to the destination bucket.
      2. GetObject to the source bucket and UploadPart to the destination bucket for every approximately 50 MB of the object.
      3. CompleteMultipartUpload to the destination bucket after uploading all parts.
    The same logic applies to blobs in Azure Blob Storage containers, regardless of the type of blob.

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.
To configure the number of iterations, choose a data transfer type in the web console or define a stop condition in the developer tools, such as the CLI. For transfers with more than one iteration, you can also set the interval between iterations. For more information, see Data transfer types and stop conditions.

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: NebiusDestination: external
Source: Nebius
  • HTTP requests on source data: class B (GET, HEAD) operations, as described in Iterations
  • Egress traffic from source
  • Destination costs: ingress traffic, requests, storage, etc. (see your provider’s documentation)
Source: external
  • Source costs: egress traffic, requests, etc. (see your provider’s documentation)
  • HTTP requests on destination data: class A (PUT, POST) and class B (HEAD) operations, as described in Iterations
  • Storing data in destination (once an object or its part is uploaded)
Not supported