[
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]