Supported S3 Requests & Custom Headers

Prev Next

Supported S3 Requests

VAST Cluster supports a subset of S3 API actions. They are listed below with references to guidelines for how to call them using some specific client interfaces.

Task

S3 Request

S3 Action

s3cmd Command

Boto 3 S3 Resource Usage

Boto 3 S3 Client Method

Bucket Operations

List the buckets on the S3 server

ListBuckets

ListAllMyBuckets

s3cmd ls

List All Buckets on the Server

list_buckets()

Create a bucket

CreateBucket

CreateBucket

s3cmd mb

Create a Bucket

create_bucket()

List the objects in bucket

ListBucket

or

ListObjectsV2 (revised version)

ListBucket

s3cmd ls

List Objects in a Bucket

list_objects()

Verify if bucket exists and if you have permission to access it

ListBucket

HeadBucket

s3cmd info

N/A

head_bucket()

Delete a bucket

DeleteBucket

DeleteBucket

s3cmd rb

Delete a Bucket

delete_bucket()

Return the region in which the bucket resides

GetBucketLocation

GetBucketLocation

get_bucket_location()

Bucket Access Control List (ACL) Operations

Note

For information about ACLs, see Managing S3 Access Control Lists (ACLs).S3 Access Control Rules (ACLs)

Set the ACL of a bucket

PutBucketAcl

PutBucketAcl

s3cmd setacl

Set the ACL of a Bucket

put_bucket_acl()

Return the ACL of a bucket

GetBucketAcl

GetBucketAcl

s3cmd info

Return the ACL of a bucket

get_bucket_acl()

Bucket Tagging Operations

Set tags on a bucket

PutBucketTagging

PutBucketTagging

Return the tag set associated with a bucket.

GetBucketTagging

GetBucketTagging

Delete the tags from a bucket

DeleteBucketTagging

PutBucketTagging

Object Operations

Create an object

PutObject

PutObject

s3cmd put

Create an Object

put_object()

Create a copy of an object

CopyObject

GetObject &  PutObject

s3cmd cp

Create a copy of an object

copy_object()

Retrieve an object

(for versioned objects, see below, Object Versioning Operations)

GetObject

GetObject

s3cmd get

Retrieve an Object

get_object()

Retrieve metadata of an object without returning object itself

HeadObject

GetObject

s3cmd info

Retrieve Object Metadata

head_object()

Delete an object

(for versioned objects, see below, Object Versioning Operations)

DeleteObject

DeleteObject

s3cmd del

Delete an Object

delete_object()

Delete multiple objects in a bucket

DeleteObjects

DeleteObject

N/A

Delete Multiple Objects

Deleting Multiple Objects

Object ACL Operations

Note

For information about ACLs, see Managing S3 Access Control Lists (ACLs).S3 Access Control Rules (ACLs)

Set ACL permissions on an existing object

PutObjectAcl

PutObjectAcl

s3cmd setacl

Set ACL Permissions on an Existing Object

put_object_acl()

Return the ACL of an object

(for versioned objects, see below, Object Versioning Operations)

GetObjectAcl

GetObjectAcl

s3cmd info

Return the ACL of an object

get_object_acl()

Upload Operations

Initiate upload of a file in multiple parts (multipart upload)

CreateMultipartUpload

PutObject

s3cmd put

Initiate a Multipart Upload

create_multipart_upload()

Abort a multipart upload

AbortMultipartUpload

AbortMultipartUpload

s3cmd abortmp

Abort a Multipart Upload

abort_multipart_upload()

Complete a multipart upload

CompleteMultipartUpload

PutObject

Automatically executed with s3cmd put for multipart uploads.

Complete a Multipart Upload

complete_multipart_upload()

Upload a part in a multipart upload.

UploadPart

PutObject

Automatically executed with s3cmd put for multipart uploads.

Upload a part in a Multipart Upload

upload_part()

Upload a part by copying data from an existing object as data source.

UploadPartCopy

PutObject, GetObject

N/A

Upload a part by copying data from an existing object as data source

upload_part_copy()

List the parts that have been uploaded for a specific multipart upload.

ListParts

ListMulitpartUploadParts

s3cmd listmp

List Uploaded Parts for a Specific Multipart Upload

list_parts()

List multipart uploads

ListMultipartUploads

ListBucketMultipartUploads

s3cmd multipart

List Multipart Uploads

list_multipart_uploads()

Object Versioning Operations

Note

For information about object versioning, see Object Versioning.

Set versioning state on a bucket

Note

Once enabled, versioning cannot be disabled or suspended.

PutBucketVersion

PutBucketVersion

PutBucketVersioning

put_bucket_versioning()

Get versioning state of a bucket

GetBucketVersion

GetBucketVersion

GetBucketVersioning

get_bucket_versioning()

Return metadata about all versions of the objects in a bucket

ListObjectVersions

ListBucketVersions

N/A

list_object_versions()

Get objects that are versioned

GetObject

GetObjectVersion

Delete object(s) that are versioned

DeleteObject. DeleteObjects

DeleteObjectVersion

Return the ACL of an object that is versioned

GetObjectAcl

GetObjectVersionAcl

Object Locking Operations

Note

For information about object locking, see S3 Object Locking Overview.

Place an object lock configuration on a bucket.

PutObjectLockConfiguration

PutBucketObjectLockConfiguration

N/A

put_object_lock_configuration()

Get the object lock configuration for a bucket.

GetObjectLockConfiguration

GetBucketObjectLockConfiguration

N/A

get_object_lock_configuration()

Place an object retention configuration on an object.

PutObjectRetention

PutObjectRetention

N/A

put_object_retention()

Get an object's retention settings.

GetObjectRetention

GetObjectRetention

N/A

get_object_retention()

Apply a legal hold configuration to an object.

PutObjectLegalHold

PutObjectLegalHold

N/A

put_object_legal_hold()

Get an object's current legal hold status.

GetObjectLegalHold

GetObjectLegalHold

N/A

get_object_legal_hold()

Object Tagging Operations

Set a supplied tag-set to an object that already exists in a bucket

PutObjectTagging

PutObjectTagging

See Tagging Examples

Return the tag-set of an object

GetObjectTagging

GetObjectTagging

Remove the tag-set from an object

DeleteObjectTagging

DeleteObjectTagging

Bucket Tagging Operations

Set tags on a bucket

PutBucketTagging

PutBucketTagging

Return the tag-set associated with a bucket

GetBucketTagging

GetBucketTagging

Delete the tag-set from a bucket

DeleteBucketTagging

DeleteBucketTagging

Supported Custom Headers

The following VAST custom headers are supported with the following request types:

Custom Header

Request

Feature

Header description

x-amz-delete-contents: true

Delete

Using Trash Folder for S3 Objects

Deletes objects asynchronously by moving them into VAST trash folder.

x-amz-copy-disposition: replace

CopyObject

Renaming Objects

Renames an object