Newer
Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
---
title: S3 API Compatibility
pcx-content-type: reference
meta:
title: S3 API Compatibility
---
# S3 API compatibility
Feature implementation is currently in progress. Refer back to this page for updates.
## How to read this page
This page has two sections: bucket-level operations and object-level operations.
Each section will have two tables: a table of implemented APIs and a table of unimplemented APIs.
Refer the feature column of each table to review which features of an API have been implemented and which have not.
✅ Feature Implemented
❌ Feature Not Implemented
## Bucket-level operations
The following tables are related to bucket-level operations.
### Implemented bucket-level operations
Below is a list of implemented bucket-level operations. Refer to the Feature column to review which features have been implemented (✅) and have not been implemented (❌).
{{<table-wrap style="width:100%">}}
| API Name | Feature |
| ------------------------------------------------------------------------------------- |---------------------------------- |
| [ListBuckets](https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBuckets.html) | |
| [HeadBucket](https://docs.aws.amazon.com/AmazonS3/latest/API/API_HeadBucket.html) | ❌ Bucket Owner: <br> ❌ x-amz-expected-bucket-owner |
| [CreateBucket](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html) | ❌ ACL: <br> ❌ x-amz-acl <br> ❌ x-amz-grant-full-control <br> ❌ x-amz-grant-read <br> ❌ x-amz-grant-read-acp <br> ❌ x-amz-grant-write <br> ❌ x-amz-grant-write-acp |
| | ❌ Object Locking: <br> ❌ x-amz-bucket-object-lock-enabled |
| | ❌ Bucket Owner: <br> ❌ x-amz-expected-bucket-owner |
| [DeleteBucket](https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucket.html) | ❌ Bucket Owner: <br> ❌ x-amz-expected-bucket-owner |
{{</table-wrap>}}
### Unimplemented bucket-level operations
Below is a list of unimplemented bucket-level operations.
{{<table-wrap>}}
| API Name | Feature |
| ------------------------------------------------------------------------------------------------ | --------------------------------- |
| ❌ [GetBucketLocation](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketLocation.html) | ❌ Bucket Owner: <br> ❌ x-amz-expected-bucket-owner |
{{</table-wrap>}}
## Object-level operations
The following tables are related to object-level operations.
### Implemented object-level operations
Below is a list of implemented object-level operations. Refer to the Feature column to review which features have been implemented (✅) and have not been implemented (❌).
{{<table-wrap style="width:120%">}}
| API Name | Feature |
| ----------------------------------------------------------------------------------------| ------------------------- |
| [HeadObject](https://docs.aws.amazon.com/AmazonS3/latest/API/API_HeadObject.html) | ✅ Conditional Operations: <br> ✅ If-Match <br> ✅ If-Modified-Since <br> ✅ If-None-Match <br> ✅ If-Unmodified-Since |
| | ✅ Range: <br> ✅ Range (has no effect in HeadObject) <br> ✅ partNumber<br> |
| | ❌ SSE-C: <br> ❌ x-amz-server-side-encryption-customer-algorithm <br> ❌ x-amz-server-side-encryption-customer-key <br> ❌ x-amz-server-side-encryption-customer-key-MD5 |
| | ❌ Request Payer: <br> ❌ x-amz-request-payer |
| | ❌ Bucket Owner: <br> ❌ x-amz-expected-bucket-owner |
| [ListObjectsV2](https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjectsV2.html) | Query Parameters: <br> ✅ list-type <br> ✅ continuation-token <br> ✅ delimiter <br> ❌ encoding-type <br> ❌ fetch-owner <br> ✅ max-keys <br> ✅ prefix <br> ✅ start-after |
| | ❌ Request Payer: <br> ❌ x-amz-request-payer |
| | ❌ Bucket Owner: <br> ❌ x-amz-expected-bucket-owner |
| [GetObject](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html) | ✅ Conditional Operations: <br> ✅ If-Match <br> ✅ If-Modified-Since <br> ✅ If-None-Match <br> ✅ If-Unmodified-Since | |
| | ✅ Range: <br> ✅ Range <br> ✅ PartNumber |
| | ❌ SSE-C: <br> ❌ x-amz-server-side-encryption-customer-algorithm <br> ❌ x-amz-server-side-encryption-customer-key <br> ❌ x-amz-server-side-encryption-customer-key-MD5 |
| | ❌ Request Payer: <br> ❌ x-amz-request-payer |
| | ❌ Bucket Owner: <br> ❌ x-amz-expected-bucket-owner |
| [PutObject](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html) | ✅ System Metadata: <br> ✅ Cache-Control <br> ✅ Content-Disposition <br> ✅ Content-Encoding <br> ✅ Content-Language <br> ✅ Expires <br> ✅ Content-MD5 |
| | ✅ Object Lifecycle |
| | ❌ Website: <br> ❌ x-amz-website-redirect-location |
| | ❌ SSE-C: <br> ❌ x-amz-server-side-encryption <br> ❌ x-amz-server-side-encryption-customer-algorithm <br> ❌ x-amz-server-side-encryption-customer-key <br> ❌ x-amz-server-side-encryption-customer-key-MD5 <br> ❌ x-amz-server-side-encryption-aws-kms-key-id <br> ❌ x-amz-server-side-encryption-context <br> ❌ x-amz-server-side-encryption-bucket-key-enabled |
| | ❌ Request Payer: <br> ❌ x-amz-request-payer |
| | ❌ Tagging: <br> ❌ x-amz-tagging | |
| | ❌ Object Locking: <br> ❌ x-amz-object-lock-mode <br> ❌ x-amz-object-lock-retain-until-date <br> ❌ x-amz-object-lock-legal-hold |
| | ❌ ACL: <br> ❌ x-amz-acl <br> ❌ x-amz-grant-full-control <br> ❌ x-amz-grant-read <br> ❌ x-amz-grant-read-acp <br> ❌ x-amz-grant-write-acp |
| | ❌ Bucket Owner: <br> ❌ x-amz-expected-bucket-owner |
| [DeleteObject](https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObject.html) | ❌ Multi-factor authentication: <br> ❌ x-amz-mfa |
| | ❌ Object Locking: <br> ❌ x-amz-bypass-governance-retention |
| | ❌ Request Payer: <br> ❌ x-amz-request-payer |
| | ❌ Bucket Owner: <br> ❌ x-amz-expected-bucket-owner |
| [DeleteObjects](https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObjects.html) | ❌ Multi-factor authentication: <br> ❌ x-amz-mfa |
| | ❌ Object Locking: <br> ❌ x-amz-bypass-governance-retention |
| | ❌ Request Payer: <br> ❌ x-amz-request-payer |
| | ❌ Bucket Owner: <br> ❌ x-amz-expected-bucket-owner |
| [CreateMultipartUpload](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html) | ✅ System Metadata: <br> ✅ Cache-Control <br> ✅ Content-Disposition <br> ✅ Content-Encoding <br> ✅ Content-Language <br> ✅ Expires <br> ✅ Content-MD5 |
| | ❌ Website <br> ❌ x-amz-website-redirect-location |
| | ❌ SSE-C: <br> ❌ x-amz-server-side-encryption <br> ❌ x-amz-server-side-encryption-customer-algorithm <br> ❌ x-amz-server-side-encryption-customer-key <br> ❌ x-amz-server-side-encryption-customer-key-MD5 <br> ❌ x-amz-server-side-encryption-aws-kms-key-id <br> ❌ x-amz-server-side-encryption-context <br> ❌ x-amz-server-side-encryption-bucket-key-enabled |
| | ❌ Request Payer: <br> ❌ x-amz-request-payer |
| | ❌ Tagging: <br> ❌ x-amz-tagging |
| | ❌ Object Locking: <br> ❌ x-amz-object-lock-mode <br> ❌ x-amz-object-lock-retain-until-date <br> ❌ x-amz-object-lock-legal-hold |
| | ❌ ACL: <br> ❌ x-amz-acl <br> ❌ x-amz-grant-full-control <br> ❌ x-amz-grant-read <br> ❌ x-amz-grant-read-acp <br> ❌ x-amz-grant-write-acp |
| | ❌ Storage class: <br> ❌ x-amz-storage-class |
| | ❌ Bucket Owner: <br> ❌ x-amz-expected-bucket-owner |
|[CompleteMultipartUpload](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html)| ❌ Bucket Owner: <br> ❌ x-amz-expected-bucket-owner |
| | ❌ Request Payer: <br> ❌ x-amz-request-payer |
|[AbortMultipartUpload](https://docs.aws.amazon.com/AmazonS3/latest/API/API_AbortMultipartUpload.html)| ❌ Request Payer: <br> ❌ x-amz-request-payer |
|[CopyObject](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html#) | ✅ Operation Metadata: <br> ✅ x-amz-metadata-directive |
| | ✅ System Metadata: <br> ✅ Cache-Control <br> ✅ Content-Disposition <br> ✅ Content-Encoding <br> ✅ Content-Language <br> ✅ Expires |
| | ✅ Conditional Operations: <br> ✅ x-amz-copy-source <br> ✅ x-amz-copy-source-if-match <br> ✅ x-amz-copy-source-if-modified-since <br> ✅ x-amz-copy-source-if-none-match <br> ✅ x-amz-copy-source-if-unmodified-since|
| | ❌ ACL: <br> ❌ x-amz-acl <br> ❌ x-amz-grant-full-control <br> ❌ x-amz-grant-read <br> ❌ x-amz-grant-read-acp <br> ❌ x-amz-grant-write-acp|
| | ❌ Website <br> ❌ x-amz-website-redirect-location |
| | ❌ SSE-C: <br> ❌ x-amz-server-side-encryption <br> ❌ x-amz-server-side-encryption-customer-algorithm <br> ❌ x-amz-server-side-encryption-customer-key <br> ❌ x-amz-server-side-encryption-customer-key-MD5 <br> ❌ x-amz-server-side-encryption-aws-kms-key-id <br> ❌ x-amz-server-side-encryption-context <br> ❌ x-amz-server-side-encryption-bucket-key-enabled <br> ❌ x-amz-copy-source-server-side-encryption-customer-algorithm <br> ❌ x-amz-copy-source-server-side-encryption-customer-key <br> ❌ x-amz-copy-source-server-side-encryption-customer-key-MD5 |
| | ❌ Request Payer: <br> ❌ x-amz-request-payer |
| | ❌ Tagging: <br> ❌ x-amz-tagging <br> ❌ x-amz-tagging-directive |
| | ❌ Object Locking: <br> ❌ x-amz-object-lock-mode <br> ❌ x-amz-object-lock-retain-until-date <br> ❌ x-amz-object-lock-legal-hold |
| | ❌ Bucket Owner: <br> ❌ x-amz-expected-bucket-owner <br> ❌ x-amz-source-expected-bucket-owner |
|[UploadPart](https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPart.html) | ✅ System Metadata: <br> ✅ Content-MD5 |
| | ❌ SSE-C: <br> ❌ x-amz-server-side-encryption <br> ❌ x-amz-server-side-encryption-customer-algorithm <br> ❌ x-amz-server-side-encryption-customer-key <br> ❌ x-amz-server-side-encryption-customer-key-MD5 |
| | ❌ Request Payer: <br> ❌ x-amz-request-payer |
| | ❌ Bucket Owner: <br> ❌ x-amz-expected-bucket-owner |
|[UploadPartCopy](https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPartCopy.html)| ❌ Conditional Operations: <br> ❌ x-amz-copy-source <br> ❌ x-amz-copy-source-if-match <br> ❌ x-amz-copy-source-if-modified-since <br> ❌ x-amz-copy-source-if-none-match <br> ❌ x-amz-copy-source-if-unmodified-since|
| | ✅ Range: <br> ✅ x-amz-copy-source-range|
| | ❌ SSE-C: <br> ❌ x-amz-server-side-encryption-customer-algorithm <br> ❌ x-amz-server-side-encryption-customer-key <br> ❌ x-amz-server-side-encryption-customer-key-MD5 <br> ❌ x-amz-copy-source-server-side-encryption-customer-algorithm <br> ❌ x-amz-copy-source-server-side-encryption-customer-key <br> ❌ x-amz-copy-source-server-side-encryption-customer-key-MD5 |
| | ❌ Request Payer: <br> ❌ x-amz-request-payer |
| | ❌ Bucket Owner: <br> ❌ x-amz-expected-bucket-owner <br> ❌ x-amz-source-expected-bucket-owner |
{{</table-wrap>}}
### Unimplemented object-level operations
Below is a list of unimplemented object-level operations.
{{<table-wrap>}}
| API Name | Feature |
| ----------------------------------------------------------------------------------------| ------------------------- |
|❌ [ListObjects](https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjects.html) | ❌ Query Parameters: <br> ❌ delimiter <br> ❌ encoding-type <br> ❌ marker <br> ❌ max-keys <br> ❌ prefix |
| | ❌ Request Payer: <br> ❌ x-amz-request-payer |
| | ❌ Bucket Owner: <br> ❌ x-amz-expected-bucket-owner |
|❌ [ListMultipartUploads](https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListMultipartUploads.html) | ❌ Query Parameters: <br> ❌ delimiter <br> ❌ encoding-type <br> ❌ key-marker <br> ❌ max-uploads <br> ❌ prefix <br> ❌ upload-id-marker |
|❌ [ListParts](https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListParts.html) | ❌ Query Parameters: <br> ❌ max-parts <br> ❌ part-number-marker |
| | ❌ Bucket Owner: <br> ❌ x-amz-expected-bucket-owner |
| | ❌ Request Payer: <br> ❌ x-amz-request-payer |
{{</table-wrap>}}
{{<Aside type="warning">}}
Note that `ListObjects` is a deprecated operation in S3 that was replaced with `ListObjectsV2`.
{{</Aside>}}