You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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.
If user provides the size, use it; otherwise do a head_object to get the size.
Create a list of {start, stop} tuples, based on given chunk size (or the standard 5MB)
Use Task.async_streams to iterate through the ranges, calling upload_part_copy for each one.
The text was updated successfully, but these errors were encountered:
Quick question for @benwilson512 or who ever else might know...
When doing a multipart copy, the Ruby library initiates an upload and passes the upload_id and a part_numberto the put upload part command. Looking at https://docs.aws.amazon.com/AmazonS3/latest/API/mpUploadUploadPartCopy.html this seems to be required, but upload_part_copy doesn't seem to support them.
Just had a look at the latest upload_part_copy and it still doesn't seem to have the upload_id and part_number even though they are required by the S3 API.
@benwilson512 Am I missing something here? Or would you like me to submit this patch as a PR to add this support?
I've been using this patch in production since Feb 2019. Looking at it again now because I'd quite like to move back to using the official version of ex_aws and this is the one thing that's stopping me.
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 SDKsAWS::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 theupload_part_copy
commands similar to thedefimpl
in 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.
Task.async_streams
to iterate through the ranges, callingupload_part_copy
for each one.The text was updated successfully, but these errors were encountered: