Migrating data from one bucket to another
Create a new bucket.
aws s3api create-bucket --bucket BUCKET-TARGET
Copy the objects between the S3 buckets.Important:
If you have objects in the Scaleway Glacier storage class you must restore them before continuing.
aws s3 sync s3://BUCKET-SOURCE s3://BUCKET-TARGET
Check that the content of the copied objects matches the content of the source ones.
aws s3 ls --recursive s3://BUCKET-SOURCE --summarize > bucket-contents-source.txt
aws s3 ls --recursive s3://BUCKET-TARGET --summarize > bucket-contents-target.txt
Compare objects that are in the source and target buckets by using the outputs that are saved to files in the AWS CLI directory. See the following example output:
aws s3 ls --recursive s3://DOC-EXAMPLE-BUCKET --summarize
2022-01-20 11:20:49 multiaz.png
Total Objects: 1 Total Size: 18640
Update any existing applications or workloads so that they can use the target bucket name, and delete the source bucket.Important:
Delete the old bucket once everything is copied to avoid additional charges. You can use the following command:
aws s3 rb s3://$bucket-source --force