【问题标题】:copy files from one folder to another on AWS S3 with python使用 python 在 AWS S3 上将文件从一个文件夹复制到另一个文件夹
【发布时间】:2021-03-15 18:28:55
【问题描述】:

我正在寻找在 AWS S3 存储桶上将数据从一个文件夹复制到另一个文件夹的所有方法。

【问题讨论】:

标签: python amazon-web-services amazon-s3 boto3


【解决方案1】:
import boto3

old_bucket_name = 'BUCKET_NAME'
old_prefix = 'FOLDER_NAME'
new_bucket_name = 'BUCKET_NAME'
new_prefix = 'FOLDER_NAME/'
s3 = boto3.resource('s3', aws_access_key_id=AWS_ACCESS_KEY_ID, aws_secret_access_key=AWS_SECRET_ACCESS_KEY)
old_bucket = s3.Bucket(old_bucket_name)
new_bucket = s3.Bucket(new_bucket_name)

for obj in old_bucket.objects.filter(Prefix=old_prefix):
    old_source = { 'Bucket': old_bucket_name, 'Key': obj.key} # replace the prefix
    new_key = obj.key.replace(old_prefix, new_prefix, 1)
    new_obj = new_bucket.Object(new_key)
    new_obj.copy(old_source)

【讨论】:

  • 顺便说一句,在源代码中硬编码 AWS 凭证不是一个好习惯。因此,如果可以,请重新考虑使用其他方式。
猜你喜欢
  • 2017-11-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-06-10
  • 1970-01-01
  • 1970-01-01
  • 2014-12-02
相关资源
最近更新 更多