download free 30 days trial version buy bucket explorer
Documentation  Download  Purchase  Support  FAQs   Forum   ScreenShots & Demos

Copy Amazon S3 Objects in a Single Operation (PUT Object – Copy)

You can create a copy of an Amazon S3 Object (File)  that is already stored in Amazon S3, with the PUT Object - Copy Request. Doing a PUT copy operation is the same as sending an HTTP GET and then a PUT Request. To authenticate the request, you must have READ access to the source object and WRITE access to the destination bucket.

You can copy Amazon S3 Objects in two ways:

  1. Copy Amazon S3 Objects using Amazon S3 API PUT Object - Copy - If you are a software developer, you can write your own software program to use Amazon S3 REST (or API) to copy S3 Objects. You can read more on SOAP APIs on S3 Documentation website.
  2. Copy Amazon S3 Objects using Bucket Explorer User Interface - If you are not much excited about writing a software program to copy S3 Objects, you can simply do that with point and click using Bucket Explorer User Interface.

Copy Amazon S3 Object using Amazon REST API

To copy an object, you can request PUT Object - Copy. The copy request must be authenticated and cannot contain a message body. You can create a copy of an object of up to 5 GB in size. If the object is more than 5 GB in size, you must use the multipart upload API.

You can preserve most of the metadata of the object (default) or specify new metadata when copying an object. But for the user who makes the request, ACL is not preserved and is set to private. When copying an object, you can grant permissions by either a canned ACL or specify access permissions explicitly. It is not possible to do both. If you are copying an object under certain conditions such as Etag matches or the object was modified before or after a specified date, use the request headers x-amz-copy-source-if-match, x-amz-copy-source-if-none-match, x-amz-copy-source-if-unmodified-since, x-amz-copy-source-if-modified since.

Syntax:


PUT / destinationObject HTTP/1.1
Host: destinationBucket .s3.amazonaws.com
x-amz-copy-source: / source_bucket / sourceObject
x-amz-metadata-directive: / metadata_directive
x-amz-copy-source-if-match: etag
x-amz-copy-source-if-none-match: etag
x-amz-copy-source-if-unmodified-since: time_stamp
x-amz-copy-source-if-modified-since: time_stamp
< request metadata >
Authorization: signatureValue
Date: date
 

Copy S3 Object using Bucket Explorer

While the "PUT Object - Copy" API of AWS allows you to create a copy of an object stored in Amazon S3 by writing code, Bucket Explorer lets you do that more conveniently using its friendly UI.

Using Transfer panel, you can copy an object from source Bucket to target Bucket in the same or in different account. If objects which are to be copied already exist, it will prompt you to overwrite or skip. If you choose to overwrite, it will overwrite previous file with newer one and older versions of the objects will be copied to version folder of System Bucket having object name appended with current date and time. You can copy the whole source Bucket by selecting copy Bucket from Bucket option in Bucket toolbar.

If the source and target Bucket are the same, then copy object can only be performed if the objects in the Bucket are in a different hierarchy.

To know more about queue option, refer to page - How to use quick comparer

Amazon S3 Object Copy

If you want to copy file(s) / folder(s) of a Bucket into another Bucket or in different level of folder of the same Bucket or different Amazon S3 account, follow the steps below:

  1. Start Bucket Explorer and connect with your Amazon S3 account .
  2. Select the Bucket from which you want to copy objects.
  3. Right click on selected S3 file(s).
  4. Select Copy, Move, and Rename option.
  5. Click on Copy option.
  6. It will open Transfer panel with the list of objects from the Bucket selected at main panel in your S3 account on the left side panel.
  7. Now select Nick Name (Authentication profile name for your saved credentials) from Nick Name combo box placed at the right side panel.
  1. Click on Go button. This will list buckets from selected S3 account at the right side table.
  2. If you want to copy the objects of the Bucket within the same S3 account, then select a same Nick Name at the right side panel from the selected account at the left side panel.
  3. Now simply double click on a Bucket at the right side (destination bucket) to explore its objects and you can also select destination location by exploring the folders in object listing at the right table.
  4. Select objects to copy from the left side object listing.
  5. Now click on 'Copy ->' blue colored arrow directed towards Left to Right side at the middle of the transfer panel.
  6. This will ask for queue option. Select your desired queue option.
    To know more about queue option, refer to this page -
    How to use quick comparer
  7. Copy operation will start in Bucket Explorer queue window.
  8. Click on Statistics tab of queue window to see Total copied, failed, and pending files.
  9. See the list of successfully copied/moved/failed and skipped files in appropriate tab.
  10. If any operation fails, it retries automatically . The default is 3 times. Retry limit can be changed using Preferences option in Tools menu.
  11. After completion of automatic retry limit and there is still a failed operation, Retry button will become visible in Statistics panel. Click on Retry button to copy failed files.
  12. After successful completion of copying process, close the queue window.
  13. You will find all the selected objects in the source bucket that have been copied to destination bucket at selected location.
  14. You're done.

Transfer Panel

Bucket Explorer provides a new Transfer panel to copy/move S3 Bucket and S3 Objects within the same or different account.

The following are the different options to run Transfer panel:

  • Choose Advanced in Tools menu & select Transfer panel.
  • Choose Transfer panel option in Bucket toolbar.
  • Select a Bucket from the Bucket list and choose "Bucket -> Copy/Move" in Bucket toolbar. This will open a new window for Transfer panel.
  • Right click on selected S3 file(s) of selected Bucket and choose Copy, Move & Rename option -> Copy/Move. This will open a new window for Transfer panel.