You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ozone.apache.org by "Gargi Jaiswal (Jira)" <ji...@apache.org> on 2026/07/31 09:09:00 UTC
[jira] [Created] (HDDS-16053) Implement GetObjectAttributes in Ozone S3 Gateway
Gargi Jaiswal created HDDS-16053:
------------------------------------
Summary: Implement 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
{{*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|https://issues.apache.org/jira/browse/HDDS-15728] 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.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@ozone.apache.org
For additional commands, e-mail: issues-help@ozone.apache.org