Skip to content

[Feature Request] Multipart copy support #46

Open
@aselder

Description

@aselder

I'd love to see this library support a high level operation similar to S3.upload that would do a copy in parts transparently to the end user. The Ruby's SDKs AWS::S3::ObjectMultipartCopier.

We already have the upload_part_copy primitive, just need to do the coordination of all the parts and calculate start and end ranges and kick off a bunch of the upload_part_copy commands similar to the defimplin https://github.com/ex-aws/ex_aws_s3/blob/v2.0.1/lib/ex_aws/s3/upload.ex.

I'll try to start a PR, but I'll probably need polishing help. My plan.

  1. If user provides the size, use it; otherwise do a head_object to get the size.
  2. Create a list of {start, stop} tuples, based on given chunk size (or the standard 5MB)
  3. Use Task.async_streams to iterate through the ranges, calling upload_part_copy for each one.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions