Mark GetObjectAttributes as implemented in SeaweedFS

Update comparison table, implemented APIs list, detailed comparison
table, and Amazon S3 API page to reflect GetObjectAttributes support.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Chris Lu
2026-03-04 12:43:40 -08:00
co-authored by Claude Opus 4.6
parent 5d88014e82
commit 424c3c41ea
2 changed files with 5 additions and 4 deletions
+1
@@ -48,6 +48,7 @@ To be sure, you can look at the function defined in the files `weed/s3api/s3api_
* ListObjectsV2
* ListObjectsV1
* DeleteMultipleObjects
* GetObjectAttributes
* PostPolicy
// Object Tagging
+4 -4
@@ -20,7 +20,7 @@ This page compares the S3 API implementation in SeaweedFS with MinIO.
| **ACLs** | ✅ Full | ⚠️ Partial | MinIO has dummy handlers for some ACLs |
| **S3 Tables** | ✅ Full | ❌ No | SeaweedFS supports Iceberg via S3 Tables |
| **Object Select** | ❌ No | ✅ Yes | `SelectObjectContent` |
| **Object Attributes**| ❌ No | ✅ Yes | `GetObjectAttributes` |
| **Object Attributes**| ✅ Yes | ✅ Yes | `GetObjectAttributes` |
| **Lambda Triggers** | ❌ No | ✅ Yes | `GetObjectLambda` |
| **STS** | ✅ Partial | ✅ Full | SeaweedFS: standard AssumeRole APIs. MinIO: several extensions. |
@@ -28,7 +28,7 @@ This page compares the S3 API implementation in SeaweedFS with MinIO.
- **Service Operations**: `ListBuckets`
- **Bucket Operations**: `HeadBucket`, `PutBucket`, `DeleteBucket`, `ListObjectsV1`, `ListObjectsV2`, `ListObjectVersions`, `GetBucketAcl`, `PutBucketAcl`, `GetBucketPolicy`, `PutBucketPolicy`, `DeleteBucketPolicy`, `GetBucketCors`, `PutBucketCors`, `DeleteBucketCors`, `GetBucketLifecycle`, `PutBucketLifecycle`, `DeleteBucketLifecycle`, `GetBucketLocation`, `GetBucketVersioning`, `PutBucketVersioning`, `GetBucketObjectLockConfiguration`, `PutBucketObjectLockConfiguration`, `GetBucketTagging`, `PutBucketTagging`, `DeleteBucketTagging`, `GetBucketEncryption`, `PutBucketEncryption`, `DeleteBucketEncryption`
- **Object Operations**: `HeadObject`, `GetObject`, `PutObject`, `DeleteObject`, `CopyObject`, `DeleteMultipleObjects`, `GetObjectTagging`, `PutObjectTagging`, `DeleteObjectTagging`, `GetObjectAcl`, `PutObjectAcl`, `GetObjectRetention`, `PutObjectRetention`, `GetObjectLegalHold`, `PutObjectLegalHold`
- **Object Operations**: `HeadObject`, `GetObject`, `PutObject`, `DeleteObject`, `CopyObject`, `DeleteMultipleObjects`, `GetObjectAttributes`, `GetObjectTagging`, `PutObjectTagging`, `DeleteObjectTagging`, `GetObjectAcl`, `PutObjectAcl`, `GetObjectRetention`, `PutObjectRetention`, `GetObjectLegalHold`, `PutObjectLegalHold`
- **Multipart Upload**: `CreateMultipartUpload`, `AbortMultipartUpload`, `CompleteMultipartUpload`, `UploadPart`, `CopyObjectPart`, `ListMultipartUploads`, `ListParts`
## SeaweedFS Specific / Better Implemented
@@ -39,7 +39,7 @@ This page compares the S3 API implementation in SeaweedFS with MinIO.
## MinIO Specific / Not in SeaweedFS
- **Advanced Object Querying**: `SelectObjectContent`, `GetObjectAttributes`.
- **Advanced Object Querying**: `SelectObjectContent`.
- **Extensions**: `GetObjectLambda`, `PostRestoreObject`, `Snowball Extract`.
- **Replication**: MinIO has more native S3 replication APIs.
@@ -63,7 +63,7 @@ This page compares the S3 API implementation in SeaweedFS with MinIO.
| `s3:DeleteObject` | ✅ | ✅ |
| `s3:CopyObject` | ✅ | ✅ |
| `s3:SelectObjectContent` | ❌ | ✅ |
| `s3:GetObjectAttributes` | ❌ | ✅ |
| `s3:GetObjectAttributes` | ✅ | ✅ |
| `s3:PostRestoreObject` | ❌ | ✅ |
| `s3:GetBucketCORS` | ✅ | ✅ |
| `s3:PutBucketCORS` | ✅ | ⚠️ (Dummy) |