mirror of
https://github.com/mulgadc/spinifex.git
synced 2026-10-15 09:01:31 +00:00
4380bf1de5
EC2 published one not-applicable operation against 625 in the model, so the page was silent about a large surface that is absent for a structural reason rather than an unfinished one. Eighty-six more are declared across nine families: EC2-Classic, the 2016 resource ID migration, FPGA images, Elastic Graphics, Outposts and the edge zone gateways, capacity purchasing, AWS backbone telemetry, Marketplace product codes and BYOIP. S3 loses its replication and analytics declarations, which named work that is not ruled out.
title, seoTitle, description, category, sections, tags
| title | seoTitle | description | category | sections | tags | |||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| S3 API Coverage | Amazon S3 API Coverage on Spinifex — Spinifex Docs | The Amazon S3 API operations Predastore serves on the platform's S3 endpoint, alongside the AWS-hosted features it does not offer and why each is absent. | Coverage |
|
|
S3 API Coverage
Overview
Predastore implements 19 operations in the S3 2006-03-01 API model.
Predastore serves this endpoint
S3 is the one surface the AWS gateway does not answer itself. Object storage runs on Predastore, which serves the S3 REST API directly over its own endpoint.
Routed is not the same as conforming
This page says an operation is routed to a handler. It does not say the handler's behaviour matches S3 in every case.
That behaviour is measured separately, against the ceph/s3-tests suite Ceph RGW, MinIO and Garage are all validated with, and the results are published in Predastore's S3 compatibility report.
Operations
| Operation | Status |
|---|---|
AbortMultipartUpload |
✅ Implemented |
CompleteMultipartUpload |
✅ Implemented |
CopyObject |
✅ Implemented |
CreateBucket |
✅ Implemented |
CreateMultipartUpload |
✅ Implemented |
CreateSession |
⛔ Not applicable 2 |
DeleteBucket |
✅ Implemented |
DeleteBucketIntelligentTieringConfiguration |
⛔ Not applicable 6 |
DeleteBucketInventoryConfiguration |
⛔ Not applicable 3 |
DeleteObject |
✅ Implemented |
DeleteObjects |
✅ Implemented |
GetBucketAccelerateConfiguration |
⛔ Not applicable 1 |
GetBucketIntelligentTieringConfiguration |
⛔ Not applicable 6 |
GetBucketInventoryConfiguration |
⛔ Not applicable 3 |
GetBucketRequestPayment |
⛔ Not applicable 5 |
GetObject |
✅ Implemented |
HeadBucket |
✅ Implemented |
HeadObject |
✅ Implemented |
ListBucketIntelligentTieringConfigurations |
⛔ Not applicable 6 |
ListBucketInventoryConfigurations |
⛔ Not applicable 3 |
ListBuckets |
✅ Implemented |
ListMultipartUploads |
✅ Implemented |
ListObjects |
✅ Implemented |
ListObjectsV2 |
✅ Implemented |
ListParts |
✅ Implemented |
PutBucketAccelerateConfiguration |
⛔ Not applicable 1 |
PutBucketIntelligentTieringConfiguration |
⛔ Not applicable 6 |
PutBucketInventoryConfiguration |
⛔ Not applicable 3 |
PutBucketRequestPayment |
⛔ Not applicable 5 |
PutObject |
✅ Implemented |
RestoreObject |
⛔ Not applicable 6 |
UploadPart |
✅ Implemented |
UploadPartCopy |
✅ Implemented |
WriteGetObjectResponse |
⛔ Not applicable 4 |
Notes
- Transfer acceleration routes uploads over AWS edge locations, which an on-premise deployment has none of.
- Sessions authenticate S3 Express One Zone directory buckets, a storage class this platform does not offer.
- Inventory reports are an AWS-hosted scheduled export; a listing here is served live from the metadata store.
- S3 Object Lambda rewrites a response from a Lambda function, and Lambda is not offered.
- Requester Pays shifts transfer charges to the caller, which needs AWS billing behind it.
- Intelligent tiering, archive storage classes and the restores they need are AWS-hosted lifecycle services; objects here are held in one class on local media.