-
Notifications
You must be signed in to change notification settings - Fork 0
Description
We need an incremental contiguous storage for live waveforms.
S3 has multipart uploads
Sample multipart upload calls
For this example, assume that you are generating a multipart upload for a 100 GB file. In this case, you would have the following API calls for the entire process. There would be a total of 1002 API calls.
-
A CreateMultipartUpload call to start the process.
-
1000 individual UploadPart calls, each uploading a part of 100 MB, for a total size of 100 GB.
-
A CompleteMultipartUpload call to finish the process.
We need an interface
Minimally implement the 3 APIs as methods.
My suggestion is to use s3bucket[key] += part
. It would need to CreateMultipartUpload
if it empty. Keep track of the parts uploaded. A way to complete, maybe a sentinel value. Ideally, it would be an interface that will be shared between other stores but we don't have that well established yet.
Also need a means to clear out any incomplete multipart in case we want to discard (part of a large file) and if we want to keep (part of a wf) so they aren't stuck in limbo and taking up s3 space.