Presently jclouds exposes multipart upload via a simple interface:
This does not allow more complicated interactions such as parallel uploads, uploads with unknown content-lengths, and other interfaces like writing into an OutputStream. Further the current MultipartUploadStrategy implementations duplicate code across the azureblob, gcs, and s3 providers.
I propose to expose the MPU component operations, e.g., initiate, complete, abort, and upload part, via the BlobStore abstraction. This will allow us to address all the above features.