Skip to main content

object_set_metadata

Function object_set_metadata 

Source
pub async fn object_set_metadata(
    profile_id: ProfileId,
    bucket: BucketId,
    key: String,
    metadata: HashMap<String, String>,
    if_match_etag: Option<String>,
    store: State<'_, ProfileStoreHandle>,
    pool: State<'_, S3ClientPoolHandle>,
    locks: State<'_, LockRegistryHandle>,
    cache: State<'_, CacheHandle>,
    channel: AppHandle,
) -> Result<PutResult, AppError>
Expand description

Replace user-defined metadata on bucket/key.

Uses a server-side CopyObject self-overwrite with MetadataDirective::Replace so the object body is preserved without re-uploading.

When if_match_etag is supplied the backend enforces an ETag precondition. A mismatch returns AppError::Conflict.