Closed amwolff closed 2 years ago
"AWS S3 allows listing the object's parts even after committing the upload. " Does it @amwolff ?
I tried:
aws s3api create-multipart-upload --bucket=storjs3 --key=test
aws s3api upload-part --upload-id="APV..." --bucket=storjs3 --key=test --part-number 1
aws s3api list-parts --upload-id="APV..." --bucket=storjs3 --key=test
aws s3api complete-multipart-upload --upload-id="APV..." --bucket=storjs3 --key=test --multipart-upload file://parts.txt
aws s3api list-parts --upload-id="APV..." --bucket=storjs3 --key=test
aws s3api list-parts --bucket=storjs3 --key=test
list-parts with upload-id yields An error occurred (NoSuchUpload) when calling the ListParts operation: The specified upload does not exist. The upload ID may be invalid, or the upload may have been aborted or completed.
list-parts without upload-id yields: aws: error: the following arguments are required: --upload-id
https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListParts.html isn't clear, but https://docs.aws.amazon.com/AmazonS3/latest/userguide/mpuoverview.html says "You can list the parts of a specific multipart upload or all in-progress multipart uploads." [Emphasis added.]
I suggest we close this issue.
Oops, you're right! I was so sure about this I didn't test this properly—sorry. Thank you for testing this.
I thought it's possible to list parts of committed objects since the existence of the partNumber
parameter for GetObject action (it works only for completed uploads—I just tested it), but it should have been obvious to me that the inability to list parts is not mutually exclusive with the ability to download a specific part of a completed upload.
I agree with closing this issue.
AWS S3 allows listing the object's parts even after committing the upload. This behaviour allows compatibility with, e.g.
partNumber
Request URI parameter for GetObject action.On our side, after we commit the upload, we can't query that upload ID anymore, unfortunately. It seems like it's not an often-used feature, but preserving the retrieval ability would allow better compatibility with the spec. It would require changes on the metainfo side.