代码之家  ›  专栏  ›  技术社区  ›  Richlewis

将文件从S3存储桶传输到另一个文件夹结构-python boto

  •  0
  • Richlewis  · 技术社区  · 6 年前

    boto3 ,但我的处境是,我必须使用 boto ,运行Python 2.38。

    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
    

    希望我解释得足够好,这是有道理的

    1 回复  |  直到 6 年前
        1
  •  1
  •   John Rotenstein    6 年前

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

    因此,只需使用:

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