VAST Cluster supports a subset of S3 requests. These 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 |
|---|---|---|---|---|---|
List the buckets on the S3 server | ListBuckets | ListAllMyBuckets | |||
Create a bucket | CreateBucket | CreateBucket | |||
List the objects in bucket | ListObjects or ListObjectsV2 | ListBucket | |||
Delete a bucket | DeleteBucket | DeleteBucket | |||
Return the region in which the bucket resides | GetBucketLocation | GetBucketLocation | N/A | ||
Return metadata from an object without returning the object itself. | HeadBucket | ListBucket | |||
Return the policy for the bucket | GetBucketPolicy | GetBucketPolicy | |||
Create a policy for the bucket | PutBucketPolicy | PutBucketPolicy | |||
Delete a bucket policy | DeleteBucketPolicy | DeleteBucketPolicy | |||
| |||||
Set the ACL of a bucket | PutBucketAcl | PutBucketAcl | |||
Return the ACL of a bucket | GetBucketAcl | GetBucketAcl | |||
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 | |||
Configure bucket logging | PutBucketLogging | PutBucketLogging | |||
Return bucket logging confirmation | GetBucketLogging | GetBucketLogging | N/A | ||
Configure bucket event notifications | PutBucketNotificationConfiguration | PutBucketNotification | N/A | ||
Return bucket event notifications configuration | GetBucketNotificationConfiguration | GetBucketNotfication | N/A | ||
Create an object | PutObject | PutObject | |||
Create a copy of an object | CopyObject | GetObject & PutObject
| |||
Retrieve an object | GetObject | GetObject | |||
Retrieve metadata of an object without returning the object itself | HeadObject | GetObject | |||
Delete an object | DeleteObject | DeleteObject | |||
Delete multiple objects in a bucket | DeleteObjects | DeleteObject | N/A | ||
| |||||
Set ACL permissions on an existing object | PutObjectAcl | PutObjectAcl | |||
Return the ACL of an object | GetObjectAcl | GetObjectAcl | |||
Initiate upload of a file in multiple parts (multipart upload) | CreateMultipartUpload | PutObject | |||
Abort a multipart upload | AbortMultipartUpload | AbortMultipartUpload | |||
Complete a multipart upload | CompleteMultipartUpload | PutObject | Automatically executed with s3cmd put for multipart uploads. | ||
Upload a part in a multipart upload. | UploadPart | PutObject | Automatically executed with s3cmd put for multipart uploads. | ||
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 | |
List the parts that have been uploaded for a specific multipart upload. | ListParts | ListMultipartUploadParts | |||
List multipart uploads | ListMultipartUploads | ListBucketMultipartUploads | |||
| |||||
Set versioning state on a bucket
| PutBucketVersion | PutBucketVersion | N/A | ||
Get versioning state of a bucket | GetBucketVersion | GetBucketVersion | N/A | ||
Return metadata about all versions of the objects in a bucket | ListObjectVersions | ListBucketVersions | N/A | N/A | |
Return object version | GetObject | GetObjectVersion | |||
Retrieve metadata of an object version without returning the object version itself | GetObject | GetObjectVersion | |||
Set object version ACL | PutObjectAcl | PutObjectVersionAcl | |||
Return object version ACL | GetObjectAcl | GetObjectVersionAcl | |||
Delete object(s) version | DeleteObject, DeleteObjects | DeleteObjectVersion | |||
| |||||
Place an object lock configuration on a bucket | PutObjectLockConfiguration | PutBucketObjectLockConfiguration | N/A | ||
Get the object lock configuration for a bucket | GetObjectLockConfiguration | GetBucketObjectLockConfiguration | N/A | ||
Place an object retention configuration on an object | PutObjectRetention | PutObjectRetention | N/A | ||
Get an object's retention settings | GetObjectRetention | GetObjectRetention | N/A | ||
Apply a legal hold configuration to an object | PutObjectLegalHold | PutObjectLegalHold | N/A | ||
Get an object's current legal hold status | GetObjectLegalHold | GetObjectLegalHold | N/A | ||
Set a supplied tag-set to an object that already exists in a bucket | PutObjectTagging | PutObjectTagging | N/A | ||
Set a supplied tag-set to a version of an object that already exists in a bucket | PutObjectTagging | PutObjectVersionTagging | N/A | ||
Return the tag-set of an object | GetObjectTagging | GetObjectTagging | N/A | ||
Return the tag-set of a version of an object | GetObjectTagging | GetObjectVersionTagging | N/A | ||
Remove the tag-set from an object | DeleteObjectTagging | DeleteObjectTagging | N/A | ||
Remove the tag-set from a version of an object | DeleteObjectTagging | DeleteObjectVersionTagging | N/A | ||