OSS returns NoSuchUpload when it cannot locate the upload ID for a multipart upload or resumable upload request:
The specified upload does not exist. The upload ID may be invalid, or the upload may have been aborted or completed.The most common cause: the upload ID passed to UploadPart no longer exists. This happens when the upload ID was not saved after InitiateMultipartUpload returned it, or when the upload was aborted or already completed before UploadPart was called.
Solutions
Check the following in order:
Confirm the upload ID was saved.
InitiateMultipartUploadreturns a globally unique upload ID. Every subsequentUploadPartcall requires this ID. If your code does not persist the upload ID immediately afterInitiateMultipartUploadreturns, the upload cannot proceed. Save the upload ID to durable storage before callingUploadPart.Verify the upload is still active. An upload ID becomes invalid if the multipart upload was aborted or completed by another process. Confirm that no other process aborted or completed the same upload.
Check that
CompleteMultipartUploadreturned HTTP 200 and a request ID. IfCompleteMultipartUploaddid not return HTTP 200, the upload was not completed — do not reuse that upload ID. Start a new multipart upload withInitiateMultipartUpload.
For the InitiateMultipartUpload API reference, see InitiateMultipartUpload.
How multipart upload works
A multipart upload consists of three steps:
Initialize the upload — Call
ossClient.initiateMultipartUpload. OSS returns a globally unique upload ID. Save this upload ID immediately; all subsequent operations for this upload require it.Upload parts — Call
ossClient.uploadPartwith the upload ID for each part.Complete the upload — After all parts are uploaded, call
ossClient.completeMultipartUploadwith the upload ID to combine all parts into a single object.
Applicable scope
Object Storage Service (OSS)