gpt4 book ai didi

python - 使用 boto3 在 S3 存储桶中移动对象的最快方法

转载 作者:行者123 更新时间:2023-12-04 14:02:23 25 4
gpt4 key购买 nike

我需要将所有文件从 S3 中的一个前缀复制到同一存储桶中的另一个前缀。我的解决方案是这样的:

file_list = [List of files in first prefix]
for file in file_list:
copy_source = {'Bucket': my_bucket, 'Key': file}
s3_client.copy(copy_source, my_bucket, new_prefix)

但是我只移动了 200 个小文件(每个 1 kb),这个过程最多需要 30 秒。一定有可能做得更快吗?

最佳答案

我会并行。例如:

from multiprocessing import Pool

file_list = [List of files in first prefix]

print(objects_to_download)

def s3_coppier(s3_file):
copy_source = {'Bucket': my_bucket, 'Key': s3_file}
s3_client.copy(copy_source, my_bucket, new_prefix)

# copy 5 objects at the same time
with Pool(5) as p:
p.map(s3_coppier, file_list)

关于python - 使用 boto3 在 S3 存储桶中移动对象的最快方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69580833/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com