Select your cookie preferences

We use cookies and similar tools to enhance your experience, provide our services, deliver relevant advertising, and make improvements. Approved third parties also use these tools to help us deliver advertising and provide certain site features.

copy

copy(CopySource, Bucket, Key, ExtraArgs=None, Callback=None, SourceClient=None, Config=None)

Copy an object from one S3 location to another.

This is a managed transfer which will perform a multipart copy in multiple threads if necessary.

Usage:

import boto3
s3 = boto3.resource('s3')
copy_source = {
    'Bucket': 'mybucket',
    'Key': 'mykey'
}
s3.meta.client.copy(copy_source, 'otherbucket', 'otherkey')
Parameters
  • CopySource (dict) -- The name of the source bucket, key name of the source object, and optional version ID of the source object. The dictionary format is: {'Bucket': 'bucket', 'Key': 'key', 'VersionId': 'id'}. Note that the VersionId key is optional and may be omitted.
  • Bucket (str) -- The name of the bucket to copy to
  • Key (str) -- The name of the key to copy to
  • ExtraArgs (dict) -- Extra arguments that may be passed to the client operation. For allowed download arguments see boto3.s3.transfer.S3Transfer.ALLOWED_DOWNLOAD_ARGS.
  • Callback (function) -- A method which takes a number of bytes transferred to be periodically called during the copy.
  • SourceClient (botocore or boto3 Client) -- The client to be used for operation that may happen at the source object. For example, this client is used for the head_object that determines the size of the copy. If no client is provided, the current client is used as the client for the source object.
  • Config (boto3.s3.transfer.TransferConfig) -- The transfer configuration to be used when performing the copy.