【问题标题】:Transfer files from S3 Bucket to another keeping folder structure - python boto将文件从 S3 Bucket 传输到另一个保存文件夹结构 - python boto
【发布时间】:2019-01-23 08:33:03
【问题描述】:

使用boto3 的解决方案发现了许多与此相关的问题,但是我必须使用boto,运行Python 2.38。

现在我可以成功地将我的文件传输到他们的文件夹中(不是真正的文件夹,因为 S3 没有这个概念),但我希望将它们保存到我的目标存储桶中的特定文件夹中

from boto.s3.connection import S3Connection


def transfer_files():
  conn = S3Connection()
  srcBucket = conn.get_bucket("source_bucket")
  dstBucket = conn.get_bucket(bucket_name="destination_bucket")
  objectlist = srcbucket.list()
  for obj in objectlist:
      dstBucket.copy_key(obj.key, srcBucket.name, obj.key)

我的srcBucket 看起来像folder/subFolder/anotherSubFolder/file.txt,它在转移时将落在dstBucket 中,就像destination_bucket/folder/subFolder/anotherSubFolder/file.txt 一样

我希望它以destination_bucket/targetFolder 结尾,所以最终的目录结构看起来像

destination_bucket/targetFolder/folder/subFolder/anotherSubFolder/file.txt

希望我已经解释得足够好并且有意义

【问题讨论】:

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


    【解决方案1】:

    第一个参数是目标键的名称。

    因此,只需使用:

    dstBucket.copy_key('targetFolder/' + obj.key, srcBucket.name, obj.key)
    

    【讨论】:

    • 谢谢你,John,我只是了解了 s3 文件夹结构是键而不是实际文件夹
    猜你喜欢
    • 2018-06-01
    • 2018-06-02
    • 1970-01-01
    • 2016-02-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多