【发布时间】:2021-03-15 18:28:55
【问题描述】:
我正在寻找在 AWS S3 存储桶上将数据从一个文件夹复制到另一个文件夹的所有方法。
【问题讨论】:
-
链接问题中的loop-version of this answer 可以做到这一点,而且方式更简单。
标签: python amazon-web-services amazon-s3 boto3
我正在寻找在 AWS S3 存储桶上将数据从一个文件夹复制到另一个文件夹的所有方法。
【问题讨论】:
标签: python amazon-web-services amazon-s3 boto3
import boto3
old_bucket_name = 'BUCKET_NAME'
old_prefix = 'FOLDER_NAME'
new_bucket_name = 'BUCKET_NAME'
new_prefix = 'FOLDER_NAME/'
s3 = boto3.resource('s3', aws_access_key_id=AWS_ACCESS_KEY_ID, aws_secret_access_key=AWS_SECRET_ACCESS_KEY)
old_bucket = s3.Bucket(old_bucket_name)
new_bucket = s3.Bucket(new_bucket_name)
for obj in old_bucket.objects.filter(Prefix=old_prefix):
old_source = { 'Bucket': old_bucket_name, 'Key': obj.key} # replace the prefix
new_key = obj.key.replace(old_prefix, new_prefix, 1)
new_obj = new_bucket.Object(new_key)
new_obj.copy(old_source)
【讨论】: