Copy objects - Amazon Simple Storage Service
Services or capabilities described in Amazon Web Services documentation might vary by Region. To see the differences applicable to the China Regions, see Getting Started with Amazon Web Services in China.

Copy objects

The Copy operation copies each object that is specified in the manifest. You can copy objects to a bucket in the same Amazon Region or to a bucket in a different Region. S3 Batch Operations supports most options available through Amazon S3 for copying objects. These options include setting object metadata, setting permissions, and changing an object's storage class.

You can also use the Copy operation to copy existing unencrypted objects and write them back to the same bucket as encrypted objects. For more information, see Encrypting objects with Amazon S3 Batch Operations.

When you copy objects, you can change the checksum algorithm used to calculate the checksum of the object. If objects don't have an additional checksum calculated, you can also add one by specifying the checksum algorithm for Amazon S3 to use. For more information, see Checking object integrity.

For more information about copying objects in Amazon S3 and the required and optional parameters, see Copying objects in this guide and CopyObject in the Amazon Simple Storage Service API Reference.

Restrictions and limitations

  • All source objects must be in one bucket.

  • All destination objects must be in one bucket.

  • You must have read permissions for the source bucket and write permissions for the destination bucket.

  • Objects to be copied can be up to 5 GB in size.

  • If you try to copy objects from the S3 Glacier Flexible Retrieval or S3 Glacier Deep Archive classes to the S3 Standard storage class, you need to first restore these objects. For more information, see Restoring an archived object.

  • Copy jobs must be created in the destination Region, which is the Region you intend to copy the objects to.

  • All Copy options are supported except for conditional checks on ETags and server-side encryption with customer-provided encryption keys (SSE-C).

  • If the buckets are unversioned, you will overwrite objects with the same key names.

  • Objects are not necessarily copied in the same order as they appear in the manifest. For versioned buckets, if preserving current/non-current version order is important, you should copy all noncurrent versions first. Then, after the first job is complete, copy the current versions in a subsequent job.

  • Copying objects to the Reduced Redundancy Storage (RRS) class is not supported.