Skip to main content

ONTAP S3 supported actions

Contributors netapp-lenida netapp-dbagwell netapp-manini netapp-forry netapp-aherbin netapp-mdavidson johnlantz netapp-pcarriga netapp-ahibbard

ONTAP S3 actions are supported by standard S3 REST APIs except as indicated below. For details, see the Amazon S3 API Reference.

Note 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:

  • x-amz-bucket-object-lock-enabled

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

  • ONTAP 9.11.1

  • ONTAP 9.8 - supported with ONTAP REST APIs only

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: uploadId

ONTAP 9.8

CompleteMultipartUpload

ONTAP S3 supports all common parameters and headers for this request, plus this additional URI query parameter: uploadId

ONTAP 9.8

CopyObject

ONTAP S3 supports all common parameters and headers for this request, plus these additional headers:

  • x-amz-copy-source

  • x-amz-copy-source-if-match

  • x-amz-copy-source-if-modified-since

  • x-amz-copy-source-if-none-match

  • x-amz-copy-source-if-unmodified-since

  • x-amz-metadata-directive

  • x-amz-object-lock-mode

  • x-amz-object-lock-retain-until-date

  • x-amz-tagging

  • x-amz-tagging-directive

  • x-amz-meta-<metadata-name>

ONTAP 9.12.1

CreateMultipartUpload

ONTAP S3 supports all common parameters and headers for this request, plus these additional headers:

  • Cache-Control

  • Content-Disposition

  • Content-Encoding

  • Content-Language

  • Expires

  • x-amz-tagging

  • x-amz-object-lock-mode

  • x-amz-object-lock-retain-until-date

  • x-amz-meta-<metadata-name>

ONTAP 9.8

DeleteObject

ONTAP S3 supports all common parameters and headers for this request, plus this additional header:

  • x-amz-bypass-governance-retention

ONTAP 9.8

DeleteObjects

ONTAP S3 supports all common parameters and headers for this request, plus this additional header:

* x-amz-bypass-governance-retention

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:

  • partNumber

  • response-cache-control

  • response-content-disposition

  • response-content-encoding

  • response-content-language

  • response-content-type

  • response-expires

And this additional request header:

  • Range

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:

  • x-amz-object-attributes

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:

  • delimiter

  • key-marker

  • max-uploads

  • prefix

  • upload-id-marker

ONTAP 9.8

ListObjects

ONTAP S3 supports all common parameters and headers for this request, plus these additional URI parameters:

  • delimiter

  • encoding-type

  • marker

  • max-keys

  • prefix

ONTAP 9.8

ListObjectsV2

ONTAP S3 supports all common parameters and headers for this request, plus these additional URI parameters:

  • continuation-token

  • delimiter

  • encoding-type

  • fetch-owner

  • max-keys

  • prefix

  • start-after

ONTAP 9.8

ListObjectVersions

ONTAP S3 supports all common parameters and headers for this request, plus these additional URI parameters:

  • delimiter

  • encoding-type

  • key-marker

  • max-keys

  • prefix

  • version-id-marker

ONTAP 9.11.1

ListParts

ONTAP S3 supports all common parameters and headers for this request, plus these additional URI parameters:

  • max-parts

  • part-number-marker

  • uploadId

ONTAP 9.8

PutObject

ONTAP S3 supports all common parameters and headers for this request, plus these additional headers:

  • Cache-Control

  • Content-Disposition

  • Content-Encoding

  • Content-Language

  • Expires

  • x-amz-tagging

  • x-amz-object-lock-mode

  • x-amz-object-lock-retain-until-date

  • x-amz-meta-<metadata-name>

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:

  • x-amz-bypass-governance-retention

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:

  • partNumber

  • uploadId

And these additional request headers:

  • x-amz-copy-source

  • x-amz-copy-source-if-match

  • x-amz-copy-source-if-modified-since

  • x-amz-copy-source-if-none-match

  • x-amz-copy-source-if-unmodified-since

  • x-amz-copy-source-range

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

ONTAP 9.14.1 adds support for S3 Object Lock.

Note Legal hold operations (locks without defined retention times) are not supported.
  • GetObjectLockConfiguration

  • GetObjectRetention

  • PutObjectLockConfiguration

  • PutObjectRetention

ONTAP 9.13.1

ONTAP 9.13.1 adds support for bucket lifecycle management.

  • DeleteBucketLifecycleConfiguration

  • GetBucketLifecycleConfiguration

  • PutBucketLifecycleConfiguration

ONTAP 9.12.1

ONTAP 9.12.1 adds support for bucket policies and the ability to copy objects.

  • DeleteBucketPolicy

  • GetBucketPolicy

  • PutBucketPolicy

  • CopyObject

  • UploadPartCopy

ONTAP 9.11.1

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

Note 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

ONTAP 9.10.1 adds support for SnapMirror S3 and GetBucketLocation.

  • GetBucketLocation

ONTAP 9.9.1

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