S3 CompleteMultipartUploadCommand produces xml schema validation error?

I am trying to perform a multipart upload using the QNAP S3 service.

My code is using the “@aws-sdk/client-s3” library.

I can successfully execute:

  • CreateMultipartUploadCommand
  • GetSignedUrl to create presigned urls for the specified parts

I can then use Axios to put the parts of the file using the signed url and I get a 200 response.

When I then execute the CompleteMultipartUploadCommand with a Parts payload (1 part in this test):

[ { PartNumber: 1, ETag: '"448cf4597cd1e1a485b495a908cbe545"' } ]

An error is returned with the message:

the xml you provided was not well-formed or did not validate against our published schema

The exact same code works on Ceph using it’s S3 endpoint.

Per the documentation, multipart upload is a supported S3 operation.

Is there a different format required for the Parts payload for QNAP?

Is QNAP S3 compatible with the current AWS SDK v3 (v2 has been deprecated)?

Is this a known bug?

Any advice greatly welcomed.