Replace the user-defined metadata on bucket/key.
bucket/key
Uses a server-side CopyObject self-overwrite with MetadataDirective: Replace so the object body is preserved without re-uploading.
CopyObject
MetadataDirective: Replace
When ifMatchEtag is supplied the backend enforces an ETag precondition. A mismatch rejects with AppError { kind: "Conflict" }.
ifMatchEtag
AppError { kind: "Conflict" }
On success the backend emits objects:updated { profileId, bucket, prefix } for the parent prefix of key.
objects:updated { profileId, bucket, prefix }
key
The profile whose credentials to use.
The bucket name.
The full S3 key of the object.
New metadata map (replaces all existing metadata).
Optional
Optional ETag precondition.
Replace the user-defined metadata on
bucket/key.Uses a server-side
CopyObjectself-overwrite withMetadataDirective: Replaceso the object body is preserved without re-uploading.When
ifMatchEtagis supplied the backend enforces an ETag precondition. A mismatch rejects withAppError { kind: "Conflict" }.On success the backend emits
objects:updated { profileId, bucket, prefix }for the parent prefix ofkey.