AWS提供了一个对象复制API来复制您的对象,无论是否从同一桶中的一个位置到另一个位置,都很有效。您甚至可以跨多个AWS账户和区域复制对象。这是一个示例Python代码片段,可以在同一区域内复制大文件:
import boto3
def copy_to_different_folder_in_same_bucket(bucket_name, object_name, new_object_name, folder_name):
s3_client = boto3.client('s3')
try:
s3_client.copy_object(Bucket=bucket_name, CopySource=f"{bucket_name}/{object_name}", Key=f"{folder_name}/{new_object_name}")
except Exception as e:
print(str(e))
return False
return True
# 用例:
copy_to_different_folder_in_same_bucket('my_bucket', 'large_file.mp4', 'copy_large_file.mp4', 'new_folder')
以上代码将复制'my_bucket'
中名为'large_file.mp4'
的对象,并将其复制到'my_bucket/new_folder'
中,并将其命名为'copy_large_file.mp4'
。这将覆盖任何具有相同名称的现有对象。
注意,如果要将文件从一个区域复制到另一个区域,则必须使用一种不同的方法(例如将对象下载并上传到另一个区域中的新位置)。
上一篇:AWS问题 - 如何使用Python在Fargate任务中获取Cloudwatch事件数据
下一篇:AWS问题:在HuggingFace中,从S3加载数据集的load_dataset失败,出现了意外的关键字参数错误。