繁体   English   中英

使用 Python boto3 将 S3 存储桶内容复制到另一个存储桶

[英]Copy S3 bucket contents to another bucket using Python boto3

因此,对于寻找您可能正在寻找的功能齐全的代码的人来说。 复制并运行以下代码段,并将存储桶名称 [bucketab]&[bucketbc1] 分别更改为您的源存储桶和目标存储桶。 虽然您可能在 StackOverflow 中遇到过很多解决方案,但似乎都没有给出正确的解决方案,经过深思熟虑后,我得到了自己的代码处理缺失的属性,这些属性应该与其他提供的答案一起使用

import boto3
s3_resource = boto3.client('s3')
keys=[]
for obj in s3_resource.list_objects_v2(Bucket='bucketab')['Contents']:
    keys.append(obj['Key'])

#Using Boto3 Resource to do the copy
s3_resource = boto3.resource('s3')
for key in keys:
    copy_source = {
        'Bucket': 'bucketab',
        'Key': key
    }
    bucket = s3_resource.Bucket('bucketbc1')
    bucket.copy(copy_source, key)    
    ```
import boto3
s3_resource = boto3.client('s3')
paginator = s3_resource.get_paginator('list_objects_v2')
page_iterator = paginator.paginate(Bucket='bucketab')
keys=[]
for page in page_iterator:
    for i in page['Contents']:
        keys.append(i['Key'])
#Using Boto3 Resource to do the copy
s3_resource = boto3.resource('s3')
for key in keys:
    copy_source = {
        'Bucket': 'bucketab',
        'Key': key
    }
    bucket = s3_resource.Bucket('bucketbc1')
    bucket.copy(copy_source, key)   

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM