Awesome Open Source
Awesome Open Source

Undocumented S3 APIs

Undocumented Amazon S3 APIs and third-party extensions. This documents features outside the official Amazon S3 REST APIs. Note that these are not consistently supported across implementations.

Amazon APIs

GET object by multipart number

Object metadata exposes the number of multipart upload parts via the x-amz-mp-parts-count header. Subsequent GET object requests can retrieve individual parts via the partNumber parameter. This allows retrieving individual multipart upload parts, including the original ETag.

HEAD bucket exposes region

HEAD bucket exposes the region via x-amz-bucket-region even if the request lacks authentication. This allows clients to interrogate a bucket so that they can route subsequent requests to the correct endpoint.

Multipart Upload ETag

Single part upload ETag are the MD5 hash of the object content. Multipart upload ETag concatenate the MD5 of each part, MD5 this data, and append a hyphen and the number of parts.

Third-party APIs

GET bucket unordered

allow-unordered=true parameter overrides key sorting which allows higher performance with large buckets. Cannot be used with delimiter.

HEAD bucket extended

Returns bucket statistics via x-rgw-bytes-used and x-rgw-object-count headers.

PUT object append

Append to an existing object at a given offset via the append and position parameters. Responses include x-oss-next-append-position and x-rgw-next-append-position which indicate the next valid append offset.

PUT object conditional

If-Match and If-None-Match (Ceph) and x-goog-if-generation-match and x-goog-if-metageneration-match (Google) headers allow atomic replacement of objects.

Resumable uploads

Initiate a resumable upload with POST object with the x-goog-resumable header. Use the response Location to issue a PUT object with given Content-Length and Content-Range headers. Continuing issuing these requests to build larger objects.


Get A Weekly Email With Trending Projects For These Topics
No Spam. Unsubscribe easily at any time.
Api (21,785
Documentation (4,406
S3 (1,684
Amazon S3 (138
Related Projects