Chapter 8. Copying files between buckets
To copy files between buckets in your object store from your workbench, use the copy()
method.
Prerequisites
-
You have cloned the
odh-doc-examples
repository to your workbench. -
You have opened the
s3client_examples.ipynb
file in your workbench. - You have installed Boto3 and configured an S3 client.
- You know the key of the source file that you want to copy, and the bucket that the file is stored in.
Procedure
In the notebook file, locate the following instructions to copy files between buckets:
#Copying files between buckets #Replace the placeholder values with your own. copy_source = { 'Bucket': '<bucket_name>', 'Key': '<key>' } s3_client.copy(copy_source, '<destination bucket>', '<destination_key>')
#Copying files between buckets #Replace the placeholder values with your own. copy_source = { 'Bucket': '<bucket_name>', 'Key': '<key>' } s3_client.copy(copy_source, '<destination bucket>', '<destination_key>')
Copy to Clipboard Copied! Within the
copy_source
block, replace<bucket_name>
with the name of the source bucket and<key>
with the key of the source file, as shown in the example.copy_source = { 'Bucket': 'aqs086-image-registry', 'Key': 'series43-image12-086.csv' }
copy_source = { 'Bucket': 'aqs086-image-registry', 'Key': 'series43-image12-086.csv' }
Copy to Clipboard Copied! Replace the
<destination_bucket>
with the name of the bucket to copy to, and<destination_key>
with the name of the key to copy to, as shown in the example. Execute the code cell.s3_client.copy(copy_source, 'aqs971-image-registry', '/tmp/series43-image12-086.csv')
s3_client.copy(copy_source, 'aqs971-image-registry', '/tmp/series43-image12-086.csv')
Copy to Clipboard Copied!
Verification
Locate the following instructions to list objects in a bucket.
#Copy Verification bucket_name = '<bucket_name>' for key in s3_client.list_objects_v2(Bucket=bucket_name)['Contents']: print(key['Key'])
#Copy Verification bucket_name = '<bucket_name>' for key in s3_client.list_objects_v2(Bucket=bucket_name)['Contents']: print(key['Key'])
Copy to Clipboard Copied! Replace
<bucket_name>
with the name of the destination bucket, as shown in the example, and run the code cell.#Copy Verification bucket_name = 'aqs971-image-registry' for key in s3_client.list_objects_v2(Bucket=bucket_name)['Contents']: print(key['Key']).
#Copy Verification bucket_name = 'aqs971-image-registry' for key in s3_client.list_objects_v2(Bucket=bucket_name)['Contents']: print(key['Key']).
Copy to Clipboard Copied! The file that you copied is displayed in the output.