Skip to main content
 首页 » 编程设计

python之通过boto3同步两个桶

2025年05月04日12Leo_wl

有什么方法可以使用 boto3 在两个不同的存储桶(源和目标)中循环存储桶内容,如果它在源中找到与目标不匹配的任何键,它会将其上传到目标存储桶。请注意我不想使用 aws s3 sync。我目前正在使用以下代码来完成这项工作:

import boto3 
 
s3 = boto3.resource('s3') 
src = s3.Bucket('sourcenabcap') 
dst = s3.Bucket('destinationnabcap') 
objs = list(dst.objects.all()) 
for k in src.objects.all(): 
 if (k.key !=objs[0].key): 
  # copy the k.key to target 

请您参考如下方法:

如果您决定不使用 boto3。 sync 命令对于 boto3 仍然不可用,因此您可以直接使用它

# python 3 
 
import os 
 
sync_command = f"aws s3 sync s3://source-bucket/ s3://destination-bucket/" 
os.system(sync_command)