User Tools

Site Tools

S3 expl

"Main" operations

  • Bucket
    • CreateBucket
    • DeleteBucket
    • HeadBucket
    • ListBuckets
    • ListObjects
    • ListObjectsV2
    • ListObjectVersions
    • PutBucketVersioning
  • Object
    • PutObject
    • GetObject
    • HeadObject
    • DeleteObject
    • DeleteObjects
    • RestoreObject
  • Multipart
    • AbortMultipartUpload
    • CompleteMultipartUpload
    • CreateMultipartUpload
    • ListMultipartUploads
    • ListParts (?Object)
    • UploadPartCopy



Adds an object to a bucket. You must have WRITE permissions on a bucket to add an object to it.

Amazon S3 never adds partial objects; if you receive a success response, Amazon S3 added the entire object to the bucket.

Amazon S3 is a distributed system. If it receives multiple write requests for the same object simultaneously, it overwrites all but the last object written. Amazon S3 does not provide object locking; if you need this, make sure to build it into your application layer or use versioning instead.

URI Request Parameters
  • Bucket - The bucket name to which the PUT action was initiated.
  • Key - Object key for which the PUT action was initiated. Length Constraints: Minimum length of 1.

If you enable versioning for a bucket, Amazon S3 automatically generates a unique version ID for the object being stored. Amazon S3 returns this ID in the response. When you enable versioning for a bucket, if Amazon S3 receives multiple write requests for the same object simultaneously, it stores all of the objects.


An Amazon S3 bucket has no directory hierarchy such as you would find in a typical computer file system. You can, however, create a logical hierarchy by using object key names that imply a folder structure. For example, instead of naming an object sample.jpg, you can name it photos/2006/February/sample.jpg.

To get an object from such a logical hierarchy, specify the full key name for the object in the GET operation.

  • For a virtual hosted-style request example, if you have the object photos/2006/February/sample.jpg, specify the resource as /photos/2006/February/sample.jpg.
  • For a path-style request example, if you have the object photos/2006/February/sample.jpg in the bucket named examplebucket, specify the resource as ''/examplebucket/photos/2006/February/sample.jpg''.

For more information about request types, see Host Header Bucket Specification.


You can store individual objects of up to 5 TB in Amazon S3. You create a copy of your object up to 5 GB in size in a single atomic action using this API. However, to copy an object greater than 5 GB, you must use the multipart upload Upload Part - Copy API.

Delete Object

The request contains a list of up to 1000 keys that you want to delete. In the XML, you provide the object key names, and optionally, version IDs if you want to delete a specific version of the object from a versioning-enabled bucket.

For each key, Amazon S3 performs a delete action and returns the result of that delete, success, or failure, in the response.

Note that if the object specified in the request is not found, Amazon S3 returns the result as deleted.

URI Request Parameters
  • Bucket - Specifies the bucket being deleted. Required: Yes


All objects (including all object versions and delete markers) in the bucket must be deleted before the bucket itself can be deleted.

All ops for objects and buckets

  • Bucket
    • CreateBucket
    • DeleteBucket
    • DeleteBucketAnalyticsConfiguration
    • DeleteBucketCors
    • DeleteBucketEncryption
    • DeleteBucketIntelligentTieringConfiguration
    • DeleteBucketInventoryConfiguration
    • DeleteBucketLifecycle
    • DeleteBucketMetricsConfiguration
    • DeleteBucketOwnershipControls
    • DeleteBucketPolicy
    • DeleteBucketReplication
    • DeleteBucketTagging
    • DeleteBucketWebsite
    • GetBucketAccelerateConfiguration
    • GetBucketAcl
    • GetBucketAnalyticsConfiguration
    • GetBucketCors
    • GetBucketEncryption
    • GetBucketIntelligentTieringConfiguration
    • GetBucketInventoryConfiguration
    • GetBucketLifecycle
    • GetBucketLifecycleConfiguration
    • GetBucketLocation
    • GetBucketLogging
    • GetBucketMetricsConfiguration
    • GetBucketNotification
    • GetBucketNotificationConfiguration
    • GetBucketOwnershipControls
    • GetBucketPolicy
    • GetBucketPolicyStatus
    • GetBucketReplication
    • GetBucketRequestPayment
    • GetBucketTagging
    • GetBucketVersioning
    • GetBucketWebsite
    • HeadBucket
    • ListBucketAnalyticsConfigurations
    • ListBucketIntelligentTieringConfigurations
    • ListBucketInventoryConfigurations
    • ListBucketMetricsConfigurations
    • ListBuckets
    • PutBucketAccelerateConfiguration
    • PutBucketAcl
    • PutBucketAnalyticsConfiguration
    • PutBucketCors
    • PutBucketEncryption
    • PutBucketIntelligentTieringConfiguration
    • PutBucketInventoryConfiguration
    • PutBucketLifecycle
    • PutBucketLifecycleConfiguration
    • PutBucketLogging
    • PutBucketMetricsConfiguration
    • PutBucketNotification
    • PutBucketNotificationConfiguration
    • PutBucketOwnershipControls
    • PutBucketPolicy
    • PutBucketReplication
    • PutBucketRequestPayment
    • PutBucketTagging
    • PutBucketVersioning
    • PutBucketWebsite
  • Object
    • CopyObject
    • DeleteObject
    • DeleteObjects
    • DeleteObjectTagging
    • GetObject
    • GetObjectAcl
    • GetObjectLegalHold
    • GetObjectLockConfiguration
    • GetObjectRetention
    • GetObjectTagging
    • GetObjectTorrent
    • HeadObject
    • ListObjects
    • ListObjectsV2
    • ListObjectVersions
    • PutObject
    • PutObjectAcl
    • PutObjectLegalHold
    • PutObjectLockConfiguration
    • PutObjectRetention
    • PutObjectTagging
    • RestoreObject
    • SelectObjectContent
    • WriteGetObjectResponse