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.
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.
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 toCreateMultipartUploadif 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.