[ 
https://issues.apache.org/jira/browse/HDDS-16053?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Gargi Jaiswal updated HDDS-16053:
---------------------------------
    Summary: Support GetObjectAttributes in Ozone S3 Gateway   (was: Implement 
GetObjectAttributes in Ozone S3 Gateway )

> Support GetObjectAttributes in Ozone S3 Gateway 
> ------------------------------------------------
>
>                 Key: HDDS-16053
>                 URL: https://issues.apache.org/jira/browse/HDDS-16053
>             Project: Apache Ozone
>          Issue Type: Task
>          Components: S3
>            Reporter: Gargi Jaiswal
>            Assignee: Gargi Jaiswal
>            Priority: Major
>
> {{*GetObjectAttributes*}} is an AWS S3 API that returns selected object 
> metadata without downloading the object body. It is similar to 
> {*}{{HeadObject}}{*}, but the client chooses which fields to return via the 
> {color:#00875a}{{x-amz-object-attributes}}{color} header. The request looks 
> like:
>  
> {code:java}
>  GET /{bucket}/{key}?attributes
>  x-amz-object-attributes: ETag,ObjectSize,StorageClass,ObjectParts {code}
> Changes required:
>  * API : {{GET /\{bucket}/\{key}?attributes}}
>  * Required header: {{x-amz-object-attributes}}
>  * Supported attributes:
>  ** {{ETag}} — object ETag (MD5 or composite hash for multipart objects)
>  ** {{ObjectSize}} — object size in bytes
>  ** {{StorageClass}} — storage/replication class
>  ** {{ObjectParts}} — for multipart objects,
>  * Response format: XML {{GetObjectAttributesResponse}} with 
> {{Last-Modified}} response header
>  * Error handling: {{404 NoSuchKey}} when the object does not exist, {{403 
> AccessDenied}} on authorization failure, {{400 InvalidArgument}} when the 
> attributes header is missing or invalid
>  * Audit and metrics: {{GET_OBJECT_ATTRIBUTES}} audit action and 
> success/failure metrics
> h3. What this ticket does not support
> The following are intentionally out of scope :
>  * {{*Checksum*}} *attribute* *—* Ozone does not currently store non-MD5 
> checksums (CRC32, CRC32C, SHA-256, etc.) in key metadata. If requseted, this 
> field is omitted from the response rather than returning an error.
> Full support requires a follow-on change to compute and persist checksums on 
> _PutObject/UploadPart._
>  * *Object versioning ({{{}versionId{}}})* — S3 object versiooning is not 
> implemented in Ozone. The {{versionId}} query parameter is not supported. 
> Once this feature is merged we can support it.
>  * *SSE-C encryption headers* — Server-Side Encryption with Customer Keys is 
> not implemented in Ozone and is not handled by
> this API.
>  * *Per-part details for completed multipart objects* — For completed MPU 
> objects, only {{PartsCount}} is returned. Per-part sizes and checksums are 
> not stored in OM metadata for completed uploads.
> AWS S3 documentation: 
> https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectAttributes.html



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to