ONTAP S3 supported actions
ONTAP S3 actions are supported by standard S3 REST APIs except as indicated below. For details, see the Amazon S3 API Reference.
|
These S3 actions are supported specifically when using native S3 buckets in ONTAP. Some of these actions, such as those associated with versioning, object locks, and other capabilities, are not supported when using S3 NAS buckets (S3 in multiprotocol NAS volumes). |
Unless noted for a specific operation, the following common request headers are supported beginning with ONTAP 9.8:
-
Authorization
-
Connection
-
Content-Length
-
Content-MD5
-
Content-Type
-
Date
-
Expect
-
Host
-
x-amz-date
Bucket operations
The following operations are supported in ONTAP using AWS S3 APIs:
Bucket operation | ONTAP support beginning with |
---|---|
CreateBucket ONTAP S3 supports all common parameters and headers for this request, plus this additional header:
|
ONTAP 9.11.1 |
DeleteBucket ONTAP S3 supports all common parameters and headers for this request. |
ONTAP 9.11.1 |
DeleteBucketCors ONTAP S3 supports all common parameters and headers for this request. |
ONTAP 9.8 |
DeleteBucketLifecycle ONTAP S3 supports all common parameters and headers for this request. |
ONTAP 9.8 |
DeleteBucketPolicy ONTAP S3 supports all common parameters and headers for this request. |
ONTAP 9.12.1 |
GetBucketAcl ONTAP S3 supports all common parameters and headers for this request. |
ONTAP 9.8 |
GetBucketCors ONTAP S3 supports all common parameters and headers for this request. |
ONTAP 9.8 |
GetBucketLifecycleConfiguration ONTAP S3 supports all common parameters and headers for this request. |
ONTAP 9.13.1 *Only expiration actions are supported |
GetBucketLocation ONTAP S3 supports all common parameters and headers for this request. |
ONTAP 9.10.1 |
GetBucketPolicy ONTAP S3 supports all common parameters and headers for this request. |
ONTAP 9.12.1 |
GetBucketVersioning ONTAP S3 supports all common parameters and headers for this request. |
ONTAP 9.11.1 |
HeadBucket ONTAP S3 supports all common parameters and headers for this request. |
ONTAP 9.8 |
ListAllMyBuckets ONTAP S3 supports all common parameters and headers for this request. |
ONTAP 9.8 |
ListBuckets ONTAP S3 supports all common parameters and headers for this request. |
ONTAP 9.8 |
ListBucketVersions ONTAP S3 supports all common parameters and headers for this request. |
ONTAP 9.11.1 |
PutBucket |
|
PutBucketCors ONTAP S3 supports all common parameters and headers for this request. |
ONTAP 9.8 |
PutBucketLifecycleConfiguration ONTAP S3 supports all common parameters and headers for this request. |
ONTAP 9.13.1 * only expiration actions are supported |
PutBucketPolicy ONTAP S3 supports all common parameters and headers for this request. |
ONTAP 9.12.1 |
PutBucketVersioning ONTAP S3 supports all common parameters and headers for this request. |
ONTAP 9.11.1 |
Object operations
Beginning with ONTAP 9.9.1, ONTAP S3 supports object metadata and tagging.
-
PutObject and CreateMultipartUpload include key-value pairs using
x-amz-meta-<key>.
For example:
x-amz-meta-project: ontap_s3
. -
GetObject and HeadObject return user-defined metadata.
-
Unlike metadata, tags can be read independently of objects using:
-
PutObjectTagging
-
GetObjectTagging
-
DeleteObjectTagging
-
Beginning with ONTAP 9.11.1, ONTAP S3 supports object versioning and associated actions with these ONTAP APIs:
-
GetBucketVersioning
-
ListBucketVersions
-
PutBucketVersioning
Unless noted for a specific operation, the following URI query parameters is supported:
-
versionId
(as required for object operations beginning with ONTAP 9.12.1)
Object operation | ONTAP support beginning with |
---|---|
AbortMultipartUpload ONTAP S3 supports all common parameters and headers for this request, plus this additional URI query parameter:
|
ONTAP 9.8 |
CompleteMultipartUpload ONTAP S3 supports all common parameters and headers for this request, plus this additional URI query parameter:
|
ONTAP 9.8 |
CopyObject ONTAP S3 supports all common parameters and headers for this request, plus these additional headers:
|
ONTAP 9.12.1 |
CreateMultipartUpload ONTAP S3 supports all common parameters and headers for this request, plus these additional headers:
|
ONTAP 9.8 |
DeleteObject ONTAP S3 supports all common parameters and headers for this request, plus this additional header:
|
ONTAP 9.8 |
DeleteObjects ONTAP S3 supports all common parameters and headers for this request, plus this additional header: * |
ONTAP 9.11.1 |
DeleteObjectTagging ONTAP S3 supports all common parameters and headers for this request. |
ONTAP 9.9.1 |
GetObject ONTAP S3 supports all common parameters and headers for this request, plus these additional URI query parameters:
And this additional request header:
|
ONTAP 9.8 |
GetObjectAcl ONTAP S3 supports all common parameters and headers for this request. |
ONTAP 9.8 |
GetObjectAttributes ONTAP S3 supports all common parameters and headers for this request, plus this additional header:
|
ONTAP 9.17.1 |
GetObjectRetention ONTAP S3 supports all common parameters and headers for this request. |
ONTAP 9.14.1 |
GetObjectTagging ONTAP S3 supports all common parameters and headers for this request. |
ONTAP 9.9.1 |
HeadObject ONTAP S3 supports all common parameters and headers for this request. |
ONTAP 9.8 |
ListMultipartUpload ONTAP S3 supports all common parameters and headers for this request, plus these additional URI parameters:
|
ONTAP 9.8 |
ListObjects ONTAP S3 supports all common parameters and headers for this request, plus these additional URI parameters:
|
ONTAP 9.8 |
ListObjectsV2 ONTAP S3 supports all common parameters and headers for this request, plus these additional URI parameters:
|
ONTAP 9.8 |
ListObjectVersions ONTAP S3 supports all common parameters and headers for this request, plus these additional URI parameters:
|
ONTAP 9.11.1 |
ListParts ONTAP S3 supports all common parameters and headers for this request, plus these additional URI parameters:
|
ONTAP 9.8 |
PutObject ONTAP S3 supports all common parameters and headers for this request, plus these additional headers:
|
ONTAP 9.8 |
PutObjectLockConfiguration ONTAP S3 supports all common parameters and headers for this request. |
ONTAP 9.14.1 |
PutObjectRetention ONTAP S3 supports all common parameters and headers for this request, plus this additional header:
|
ONTAP 9.14.1 |
PutObjectTagging ONTAP S3 supports all common parameters and headers for this request. |
ONTAP 9.9.1 |
UploadPart |
ONTAP 9.8 |
UploadPartCopy ONTAP S3 supports all common parameters and headers for this request, plus these additional URI parameters:
And these additional request headers:
|
ONTAP 9.12.1 |
Group policies
These operations are not specific to S3 and are generally associated with Identity and Management (IAM) processes. ONTAP supports these commands but does not use the IAM REST APIs.
-
Create Policy
-
AttachGroup Policy
User management
These operations are not specific to S3 and are generally associated with IAM processes.
-
CreateUser
-
DeleteUser
-
CreateGroup
-
DeleteGroup
S3 actions by release
ONTAP 9.14.1 adds support for S3 Object Lock.
|
Legal hold operations (locks without defined retention times) are not supported. |
-
GetObjectLockConfiguration
-
GetObjectRetention
-
PutObjectLockConfiguration
-
PutObjectRetention
ONTAP 9.13.1 adds support for bucket lifecycle management.
-
DeleteBucketLifecycleConfiguration
-
GetBucketLifecycleConfiguration
-
PutBucketLifecycleConfiguration
ONTAP 9.12.1 adds support for bucket policies and the ability to copy objects.
-
DeleteBucketPolicy
-
GetBucketPolicy
-
PutBucketPolicy
-
CopyObject
-
UploadPartCopy
ONTAP 9.11.1 adds support for versioning, presigned URLs, chunked uploads, and support for common S3 actions such as creating and deleting buckets using S3 APIs.
-
ONTAP S3 now supports chunked uploads signing requests using
x-amz-content-sha256: STREAMING-AWS4-HMAC-SHA256-PAYLOAD
-
ONTAP S3 now supports client applications using presigned URLs to share objects or allow other users to upload objects without requiring user credentials.
-
CreateBucket
-
DeleteBucket
-
GetBucketVersioning
-
ListBucketVersions
-
PutBucket
-
PutBucketVersioning
-
DeleteObjects
-
ListObjectVersions
|
Because the underlying FlexGroup is not created until the first bucket is, a bucket must first be created in ONTAP before an external client can create a bucket using CreateBucket. |
ONTAP 9.10.1 adds support for SnapMirror S3 and GetBucketLocation.
-
GetBucketLocation
ONTAP 9.9.1 adds support for object metadata and tagging support to ONTAP S3.
-
PutObject and CreateMultipartUpload now include key-value pairs using
x-amz-meta-<key>
. For example:x-amz-meta-project: ontap_s3
. -
GetObject and HeadObject now return user-defined metadata.
Tags can also be used with buckets. Unlike metadata, tags can be read independently of objects using:
-
PutObjectTagging
-
GetObjectTagging
-
DeleteObjectTagging