AWS S3 copy files and folders between two buckets

Before diving into the process, let’s quickly go over the requirements. To copy files and folders between AWS S3 buckets, you’ll need:

AWS Account: Ensure you have an active AWS account with appropriate access permissions to both the source and destination buckets.

AWS S3 Buckets: Set up the source and destination buckets where you want to copy your files and folders.

Here is an example of how you can copy files and folders from one bucket to another using the boto3 library in Python:

import boto3

# Set up the clients for the source and destination buckets
s3 = boto3.client('s3')
src_bucket_name = 'my-src-bucket'
dst_bucket_name = 'my-dst-bucket'

# Iterate through all objects in the source bucket
paginator = s3.get_paginator('list_objects')
for result in paginator.paginate(Bucket=src_bucket_name):
for src_object in result['Contents']:
src_key = src_object['Key']
# Create a copy of the object in the destination bucket
s3.copy_object(Bucket=dst_bucket_name, CopySource={'Bucket': src_bucket_name, 'Key': src_key}, Key=src_key)

This code will copy all objects (files and folders) from the src_bucket_name bucket to the dst_bucket_name bucket. The copied objects will retain their original names and metadata.

Note that this code uses the list_objects and copy_object operations of the s3 client. You will need to have the appropriate permissions for these operations in your IAM policy.

Add a Comment

Your email address will not be published. Required fields are marked *


My name is Nohman Habib and I am a web developer with over 10 years of experience, programming in Joomla, Wordpress, WHMCS, vTiger and Hybrid Apps. My plan to start is to share my experience and expertise with others. Here my basic area of focus is to post tutorials primarily on Joomla development, HTML5, CSS3 and PHP.

Nohman Habib


Request a Quote

PHP Code Snippets Powered By :