簡體   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