【问题标题】:Copying a file inside an S3 bucket (ruby)在 S3 存储桶中复制文件(红宝石)
【发布时间】:2013-04-14 10:54:39
【问题描述】:

我正在使用 gem aws-sdk-ruby,我想将文件 /images/image_a.png 复制到 /profile.png 都在同一个桶中。

我该怎么做?

【问题讨论】:

    标签: ruby amazon-web-services amazon-s3 buckets


    【解决方案1】:

    要使用 aws-sdk-v2 执行此操作,您可以执行以下操作:

    bucket = Aws::S3::Bucket.new('my_aws_bucket')
    bucket.object("new_photo_uploads/logos/my_new_copied_photo.png")
    aws_response = object.copy_from(bucket.object("my_original_photo.png"))
    

    【讨论】:

      【解决方案2】:

      documentation 中提取,您必须使用copy_to。例如:

      s3 = AWS::S3.new
      
      # Upload a file and set server-side encryption.
      bucket1 = s3.buckets[source_bucket]
      bucket2 = s3.buckets[target_bucket]
      obj1 = bucket1.objects[source_key]
      obj2 = bucket2.objects[target_key]
      
      obj1.copy_to(obj2)
      

      【讨论】:

      • 如果目标在同一个bucket中,你可以简单的做:s3.buckets['bucket-name'].objects['source'].copy_to('target')
      猜你喜欢
      • 2018-11-02
      • 2017-11-23
      • 2019-08-07
      • 1970-01-01
      • 2017-12-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-01-01
      相关资源
      最近更新 更多