Boto3/S3: Renaming an object using copy_object
I'm trying to rename a file in my s3 bucket using python boto3, I couldn't clearly understand the arguments. can someone help me here?
What I'm planing is to copy object to a new object, and then delete the actual object.
I found similar questions here, but I need a solution using boto3.
I found another solution
s3 = boto3.resource('s3')
s3.Object('my_bucket','new_file_key').copy_from(CopySource='my_bucket/old_file_key')
s3.Object('my_bucket','old_file_key').delete()
You cannot rename objects in S3, so as you indicated, you need to copy it to a new name and then deleted the old one:
client.copy_object(Bucket="BucketName", CopySource="BucketName/OriginalName", Key="NewName")
client.delete_object(Bucket="BucketName", Key="OriginalName")