Supported operations on buckets and objects in Object Storage
Last updated on
Authenticating requests
Section titled “Authenticating requests”The S3 API supports Signature version 2 and Signature version 4 for authenticating S3 API requests.
Authenticated requests must be signed using your access key ID and secret access key.
Object Storage supports two authentication methods: the HTTP Authorization header and using query parameters.
Using the HTTP Authorization header
Section titled “Using the HTTP Authorization header”The HTTP Authorization header is used by all S3 API operations except anonymous requests where permitted by the bucket policy. The Authorization header contains all of the required signing information to authenticate a request.
Using query parameters
Section titled “Using query parameters”You can use query parameters to add authentication information to a URL. This is known as presigning the URL, which can be used to grant temporary access to specific resources. Users with the presigned URL do not need to know the secret access key to access the resource, which enables you to provide third-party restricted access to a resource. A presigned URL can only be used for GET operations. PUT to a presigned URL is not supported. Use bucket policies to allow public write access instead.
Operations on buckets
Section titled “Operations on buckets”| Operation | Description |
|---|---|
| Create Bucket | Creates a new bucket in which to store objects. |
| Delete Bucket | Deletes an empty bucket. |
| Delete Bucket CORS | Removes the cross-origin resource sharing (CORS) configuration from the bucket. |
| Delete Bucket Encryption | Removes the default encryption configuration from the bucket. |
| Delete Bucket Life cycle | Removes the life cycle configuration from the bucket. |
| Delete Bucket Policy | Removes the bucket policy from the bucket. |
| Delete Bucket Replication | Removes the replication configuration from the bucket. |
| Delete Bucket Tagging | Removes all tags from the bucket. |
| Get Bucket ACL | Returns the access control list (ACL) of the bucket. |
| Get Bucket CORS | Returns the cross-origin resource sharing (CORS) configuration of the bucket. |
| Get Bucket Encryption | Returns the default encryption configuration of the bucket. |
| Get Bucket Life cycle Configuration | Returns the life cycle configuration of the bucket. |
| Get Bucket Location | Returns the region that was set using the LocationConstraint element in the CreateBucket request. If the bucket’s LocationConstraint has not been set, an empty string is returned for the region. |
| Get Bucket Notification Configuration | Returns the notification configuration of the bucket. |
| Get Bucket Policy | Returns the bucket policy of the bucket. |
| Get Bucket Replication | Returns the replication configuration of the bucket. |
| Get Bucket Tagging | Returns the tags associated with the bucket. |
| Get Bucket Versioning | Returns the versioning state of the bucket. |
| Head Bucket | Determines whether a bucket exists and whether you have permission to access it. |
| List Buckets | Returns a list of all buckets owned by the authenticated sender of the request. |
| Put Bucket CORS | Sets the cross-origin resource sharing (CORS) configuration for the bucket. |
| Put Bucket Encryption | Sets the default encryption configuration for the bucket. |
| Put Bucket Life cycle Configuration | Sets the life cycle configuration for the bucket. |
| Put Bucket Policy | Applies a bucket policy to the bucket. |
| Put Bucket Replication | Sets the replication configuration for the bucket. |
| Put Bucket Tagging | Sets the tags for the bucket. |
| Put Bucket Versioning | Sets the versioning state of the bucket. |
Operations on objects
Section titled “Operations on objects”| Operation | Description |
|---|---|
| Abort Multipart Upload | Stops a multipart upload and deletes all parts that have already been uploaded. |
| Complete Multipart Upload | Assembles the previously uploaded parts into a single object to finish a multipart upload. |
| Copy Object | Creates a copy of an object that is already stored. |
| Create Multipart Upload | Initiates a multipart upload and returns an upload ID. |
| Delete Object | Removes an object from a bucket. |
| Delete Object Tagging | Removes all tags from an object. |
| Delete Objects | Removes multiple objects from a bucket in a single request. |
| Get Object | Retrieves an object from a bucket. |
| Get Object Legal Hold | Returns the legal hold status of an object. |
| Get Object Lock Configuration | Returns the object lock configuration of a bucket. |
| Get Object Retention | Returns the retention settings of an object. |
| Get Object Tagging | Returns the tags associated with an object. |
| Get ObjectAcl | Returns the access control list (ACL) of an object. |
| Head Object | Retrieves metadata of an object without returning the object itself. |
| List MultipartUploads | Lists in-progress multipart uploads in a bucket. |
| List Object Versions | Lists the versions of the objects in a bucket. |
| List Objects | Returns some or all of the objects in a bucket. |
| List ObjectsV2 | Returns some or all of the objects in a bucket using the version 2 listing API. |
| List Parts | Lists the parts that have been uploaded for a specific multipart upload. |
| Put Object | Adds an object to a bucket. |
| Put Object Legal Hold | Applies a legal hold configuration to an object. |
| Put Object Lock Configuration | Sets the object lock configuration for a bucket. |
| Put Object Retention | Sets the retention settings for an object. |
| Put Object Tagging | Sets the tags for an object. |
| Restore Object | Restores an archived copy of an object. |
| Select Object Content | Filters the contents of an object using a structured query and returns only the matching data. |
| Upload Part | Uploads a part in a multipart upload. |
| Upload Part Copy | Uploads a part in a multipart upload by copying data from an existing object. |