is R2 able to add metadata for "put

is R2 able to add metadata for "put object" commands ?
import {
PutObjectCommand,
S3Client
} from '@aws-sdk/client-s3';
import { getSignedUrl } from '@aws-sdk/s3-request-presigner';

...

const s3 = new S3Client({ ... });
const cmd = new PutObjectCommand({
Bucket: c.env.BUCKET_NAME_VAULT_STORAGE,
Key: fileKey,
Metadata: {
test: 'hello',
},
ContentType: file.type,
ContentLength: file.size,
});

const url = await getSignedUrl(s3, cmd, { expiresIn: SIGNATURE_EXPIRATION_IN_SECONDS });

....(front end uploads to url)
import {
PutObjectCommand,
S3Client
} from '@aws-sdk/client-s3';
import { getSignedUrl } from '@aws-sdk/s3-request-presigner';

...

const s3 = new S3Client({ ... });
const cmd = new PutObjectCommand({
Bucket: c.env.BUCKET_NAME_VAULT_STORAGE,
Key: fileKey,
Metadata: {
test: 'hello',
},
ContentType: file.type,
ContentLength: file.size,
});

const url = await getSignedUrl(s3, cmd, { expiresIn: SIGNATURE_EXPIRATION_IN_SECONDS });

....(front end uploads to url)
as you can see in the screenshot, no metadata was added to the file. metadata seems to work fine for multipart uploads, but not for single "put object" commands. is it working ok?
No description
3 Replies
Dave
Dave7mo ago
@Unsmart | Tech debt
Unsmart
Unsmart7mo ago
Please do not ping people randomly for help if anyone knows the answer and wants to help they will when they see it.
Groovy
Groovy6mo ago
@Dave hello, could you find any solution or an answer to this?