public interface AmazonS3
extends com.amazonaws.services.s3.internal.S3DirectSpi
Provides an interface for accessing the Amazon S3 web service.
Amazon S3 provides storage for the Internet, and is designed to make web-scale computing easier for developers.
The Amazon S3 Java SDK provides a simple interface that can be used to store and retrieve any amount of data, at any time, from anywhere on the web. It gives any developer access to the same highly scalable, reliable, secure, fast, inexpensive infrastructure that Amazon uses to run its own global network of web sites. The service aims to maximize benefits of scale and to pass those benefits on to developers.
For more information about Amazon S3, please see http://aws.amazon.com/s3
Modifier and Type | Method and Description |
---|---|
void |
abortMultipartUpload(AbortMultipartUploadRequest request)
Aborts a multipart upload.
|
void |
changeObjectStorageClass(java.lang.String bucketName,
java.lang.String key,
StorageClass newStorageClass)
Changes the Amazon S3 storage class for a specified object.
|
CompleteMultipartUploadResult |
completeMultipartUpload(CompleteMultipartUploadRequest request)
Completes a multipart upload by assembling previously uploaded parts.
|
CopyObjectResult |
copyObject(CopyObjectRequest copyObjectRequest)
Copies a source object to a new destination in Amazon S3.
|
CopyObjectResult |
copyObject(java.lang.String sourceBucketName,
java.lang.String sourceKey,
java.lang.String destinationBucketName,
java.lang.String destinationKey)
Copies a source object to a new destination in Amazon S3.
|
CopyPartResult |
copyPart(CopyPartRequest copyPartRequest)
Copies a source object to a part of a multipart upload.
|
Bucket |
createBucket(CreateBucketRequest createBucketRequest)
Creates a new Amazon S3 bucket in the default region,
Region.US_Standard . |
Bucket |
createBucket(java.lang.String bucketName)
Creates a new Amazon S3 bucket with the specified name in the default
(US) region,
Region.US_Standard . |
Bucket |
createBucket(java.lang.String bucketName,
Region region)
Creates a new Amazon S3 bucket with the specified name in the specified
Amazon S3 region.
|
Bucket |
createBucket(java.lang.String bucketName,
java.lang.String region)
Creates a new Amazon S3 bucket with the specified name in the specified
Amazon S3 region.
|
void |
deleteBucket(DeleteBucketRequest deleteBucketRequest)
Deletes the specified bucket.
|
void |
deleteBucket(java.lang.String bucketName)
Deletes the specified bucket.
|
DeleteBucketAnalyticsConfigurationResult |
deleteBucketAnalyticsConfiguration(DeleteBucketAnalyticsConfigurationRequest deleteBucketAnalyticsConfigurationRequest)
Deletes an analytics configuration for the bucket (specified by the analytics configuration ID).
|
DeleteBucketAnalyticsConfigurationResult |
deleteBucketAnalyticsConfiguration(java.lang.String bucketName,
java.lang.String id)
Deletes an analytics configuration for the bucket (specified by the analytics configuration ID).
|
void |
deleteBucketCrossOriginConfiguration(DeleteBucketCrossOriginConfigurationRequest deleteBucketCrossOriginConfigurationRequest)
Delete the cross origin configuration for the specified bucket.
|
void |
deleteBucketCrossOriginConfiguration(java.lang.String bucketName)
Delete the cross origin configuration for the specified bucket.
|
DeleteBucketInventoryConfigurationResult |
deleteBucketInventoryConfiguration(DeleteBucketInventoryConfigurationRequest deleteBucketInventoryConfigurationRequest)
Deletes an inventory configuration (identified by the inventory ID) from the bucket.
|
DeleteBucketInventoryConfigurationResult |
deleteBucketInventoryConfiguration(java.lang.String bucketName,
java.lang.String id)
Deletes an inventory configuration (identified by the inventory ID) from the bucket.
|
void |
deleteBucketLifecycleConfiguration(DeleteBucketLifecycleConfigurationRequest deleteBucketLifecycleConfigurationRequest)
Removes the lifecycle configuration for the bucket specified.
|
void |
deleteBucketLifecycleConfiguration(java.lang.String bucketName)
Removes the lifecycle configuration for the bucket specified.
|
DeleteBucketMetricsConfigurationResult |
deleteBucketMetricsConfiguration(DeleteBucketMetricsConfigurationRequest deleteBucketMetricsConfigurationRequest)
Deletes a metrics configuration (specified by the metrics configuration ID) from the bucket.
|
DeleteBucketMetricsConfigurationResult |
deleteBucketMetricsConfiguration(java.lang.String bucketName,
java.lang.String id)
Deletes a metrics configuration (specified by the metrics configuration ID) from the bucket.
|
void |
deleteBucketPolicy(DeleteBucketPolicyRequest deleteBucketPolicyRequest)
Deletes the policy associated with the specified bucket.
|
void |
deleteBucketPolicy(java.lang.String bucketName)
Deletes the policy associated with the specified bucket.
|
void |
deleteBucketReplicationConfiguration(DeleteBucketReplicationConfigurationRequest request)
Deletes the replication configuration for the given Amazon S3 bucket.
|
void |
deleteBucketReplicationConfiguration(java.lang.String bucketName)
Deletes the replication configuration for the given Amazon S3 bucket.
|
void |
deleteBucketTaggingConfiguration(DeleteBucketTaggingConfigurationRequest deleteBucketTaggingConfigurationRequest)
Removes the tagging configuration for the bucket specified.
|
void |
deleteBucketTaggingConfiguration(java.lang.String bucketName)
Removes the tagging configuration for the bucket specified.
|
void |
deleteBucketWebsiteConfiguration(DeleteBucketWebsiteConfigurationRequest deleteBucketWebsiteConfigurationRequest)
This operation removes the website configuration for a bucket.
|
void |
deleteBucketWebsiteConfiguration(java.lang.String bucketName)
This operation removes the website configuration for a bucket.
|
void |
deleteObject(DeleteObjectRequest deleteObjectRequest)
Deletes the specified object in the specified bucket.
|
void |
deleteObject(java.lang.String bucketName,
java.lang.String key)
Deletes the specified object in the specified bucket.
|
DeleteObjectsResult |
deleteObjects(DeleteObjectsRequest deleteObjectsRequest)
Deletes multiple objects in a single bucket from S3.
|
DeleteObjectTaggingResult |
deleteObjectTagging(DeleteObjectTaggingRequest deleteObjectTaggingRequest)
Remove the tags for the specified object.
|
void |
deleteVersion(DeleteVersionRequest deleteVersionRequest)
Deletes a specific version of an object in the specified bucket.
|
void |
deleteVersion(java.lang.String bucketName,
java.lang.String key,
java.lang.String versionId)
Deletes a specific version of the specified object in the specified
bucket.
|
void |
disableRequesterPays(java.lang.String bucketName)
Allows Amazon S3 bucket owner to disable the Requester Pays for the given
bucket name.
|
boolean |
doesBucketExist(java.lang.String bucketName)
Checks if the specified bucket exists.
|
boolean |
doesObjectExist(java.lang.String bucketName,
java.lang.String objectName) |
void |
enableRequesterPays(java.lang.String bucketName)
Allows Amazon S3 bucket owner to enable the Requester Pays for the given
bucket name.
|
java.net.URL |
generatePresignedUrl(GeneratePresignedUrlRequest generatePresignedUrlRequest)
Returns a pre-signed URL for accessing an Amazon S3 resource.
|
java.net.URL |
generatePresignedUrl(java.lang.String bucketName,
java.lang.String key,
java.util.Date expiration)
Returns a pre-signed URL for accessing an Amazon S3 resource.
|
java.net.URL |
generatePresignedUrl(java.lang.String bucketName,
java.lang.String key,
java.util.Date expiration,
HttpMethod method)
Returns a pre-signed URL for accessing an Amazon S3 resource.
|
BucketAccelerateConfiguration |
getBucketAccelerateConfiguration(GetBucketAccelerateConfigurationRequest getBucketAccelerateConfigurationRequest)
Retrieves the accelerate configuration for the given bucket.
|
BucketAccelerateConfiguration |
getBucketAccelerateConfiguration(java.lang.String bucket)
Retrieves the accelerate configuration for the given bucket.
|
AccessControlList |
getBucketAcl(GetBucketAclRequest getBucketAclRequest)
Gets the
AccessControlList (ACL) for the specified Amazon S3
bucket. |
AccessControlList |
getBucketAcl(java.lang.String bucketName)
Gets the
AccessControlList (ACL) for the specified Amazon S3 bucket. |
GetBucketAnalyticsConfigurationResult |
getBucketAnalyticsConfiguration(GetBucketAnalyticsConfigurationRequest getBucketAnalyticsConfigurationRequest)
Gets an analytics configuration for the bucket (specified by the analytics configuration ID).
|
GetBucketAnalyticsConfigurationResult |
getBucketAnalyticsConfiguration(java.lang.String bucketName,
java.lang.String id)
Gets an analytics configuration for the bucket (specified by the analytics configuration ID).
|
BucketCrossOriginConfiguration |
getBucketCrossOriginConfiguration(GetBucketCrossOriginConfigurationRequest getBucketCrossOriginConfigurationRequest)
Gets the cross origin configuration for the specified bucket, or null if
no configuration has been established.
|
BucketCrossOriginConfiguration |
getBucketCrossOriginConfiguration(java.lang.String bucketName)
Gets the cross origin configuration for the specified bucket, or null if
the specified bucket does not exists, or an empty list if no
configuration has been established.
|
GetBucketInventoryConfigurationResult |
getBucketInventoryConfiguration(GetBucketInventoryConfigurationRequest getBucketInventoryConfigurationRequest)
Returns an inventory configuration (identified by the inventory ID) from the bucket.
|
GetBucketInventoryConfigurationResult |
getBucketInventoryConfiguration(java.lang.String bucketName,
java.lang.String id)
Returns an inventory configuration (identified by the inventory ID) from the bucket.
|
BucketLifecycleConfiguration |
getBucketLifecycleConfiguration(GetBucketLifecycleConfigurationRequest getBucketLifecycleConfigurationRequest)
Gets the lifecycle configuration for the specified bucket, or null if
the specified bucket does not exists, or an empty list if no
configuration has been established.
|
BucketLifecycleConfiguration |
getBucketLifecycleConfiguration(java.lang.String bucketName)
Gets the lifecycle configuration for the specified bucket, or null if
the specified bucket does not exists, or an empty list if no
configuration has been established.
|
java.lang.String |
getBucketLocation(GetBucketLocationRequest getBucketLocationRequest)
Gets the geographical region where Amazon S3 stores the specified bucket.
|
java.lang.String |
getBucketLocation(java.lang.String bucketName)
Gets the geographical region where Amazon S3 stores the specified bucket.
|
BucketLoggingConfiguration |
getBucketLoggingConfiguration(GetBucketLoggingConfigurationRequest getBucketLoggingConfigurationRequest)
Gets the logging configuration for the specified bucket.
|
BucketLoggingConfiguration |
getBucketLoggingConfiguration(java.lang.String bucketName)
Gets the logging configuration for the specified bucket.
|
GetBucketMetricsConfigurationResult |
getBucketMetricsConfiguration(GetBucketMetricsConfigurationRequest getBucketMetricsConfigurationRequest)
Gets a metrics configuration (specified by the metrics configuration ID) from the bucket.
|
GetBucketMetricsConfigurationResult |
getBucketMetricsConfiguration(java.lang.String bucketName,
java.lang.String id)
Gets a metrics configuration (specified by the metrics configuration ID) from the bucket.
|
BucketNotificationConfiguration |
getBucketNotificationConfiguration(GetBucketNotificationConfigurationRequest getBucketNotificationConfigurationRequest)
Gets the notification configuration for the specified bucket.
|
BucketNotificationConfiguration |
getBucketNotificationConfiguration(java.lang.String bucketName)
Gets the notification configuration for the specified bucket.
|
BucketPolicy |
getBucketPolicy(GetBucketPolicyRequest getBucketPolicyRequest)
Gets the policy for the specified bucket.
|
BucketPolicy |
getBucketPolicy(java.lang.String bucketName)
Gets the policy for the specified bucket.
|
BucketReplicationConfiguration |
getBucketReplicationConfiguration(GetBucketReplicationConfigurationRequest getBucketReplicationConfigurationRequest)
Retrieves the replication configuration for the given Amazon S3 bucket.
|
BucketReplicationConfiguration |
getBucketReplicationConfiguration(java.lang.String bucketName)
Retrieves the replication configuration for the given Amazon S3 bucket.
|
BucketTaggingConfiguration |
getBucketTaggingConfiguration(GetBucketTaggingConfigurationRequest getBucketTaggingConfigurationRequest)
Gets the tagging configuration for the specified bucket, or null if
the specified bucket does not exists, or an empty list if no
configuration has been established.
|
BucketTaggingConfiguration |
getBucketTaggingConfiguration(java.lang.String bucketName)
Gets the tagging configuration for the specified bucket, or null if
the specified bucket does not exists, or an empty list if no
configuration has been established.
|
BucketVersioningConfiguration |
getBucketVersioningConfiguration(GetBucketVersioningConfigurationRequest getBucketVersioningConfigurationRequest)
Returns the versioning configuration for the specified bucket.
|
BucketVersioningConfiguration |
getBucketVersioningConfiguration(java.lang.String bucketName)
Returns the versioning configuration for the specified bucket.
|
BucketWebsiteConfiguration |
getBucketWebsiteConfiguration(GetBucketWebsiteConfigurationRequest getBucketWebsiteConfigurationRequest)
Returns the website configuration for the specified bucket.
|
BucketWebsiteConfiguration |
getBucketWebsiteConfiguration(java.lang.String bucketName)
Returns the website configuration for the specified bucket.
|
S3ResponseMetadata |
getCachedResponseMetadata(AmazonWebServiceRequest request)
Gets additional metadata for a previously executed successful request.
|
S3Object |
getObject(GetObjectRequest getObjectRequest)
Gets the object stored in Amazon S3 under the specified bucket and key.
|
ObjectMetadata |
getObject(GetObjectRequest getObjectRequest,
java.io.File destinationFile)
Gets the object metadata for the object stored in Amazon S3 under the
specified bucket and key, and saves the object contents to the specified
file.
|
S3Object |
getObject(java.lang.String bucketName,
java.lang.String key)
Gets the object stored in Amazon S3 under the specified bucket and key.
|
AccessControlList |
getObjectAcl(GetObjectAclRequest getObjectAclRequest)
Gets the
AccessControlList (ACL) for the specified object in
Amazon S3. |
AccessControlList |
getObjectAcl(java.lang.String bucketName,
java.lang.String key)
Gets the
AccessControlList (ACL) for the specified object in
Amazon S3. |
AccessControlList |
getObjectAcl(java.lang.String bucketName,
java.lang.String key,
java.lang.String versionId)
Gets the
AccessControlList (ACL) for the specified object with
the specified version in Amazon S3. |
java.lang.String |
getObjectAsString(java.lang.String bucketName,
java.lang.String key)
Retrieves and decodes the contents of an S3 object to a String.
|
ObjectMetadata |
getObjectMetadata(GetObjectMetadataRequest getObjectMetadataRequest)
Gets the metadata for the specified Amazon S3 object without actually
fetching the object itself.
|
ObjectMetadata |
getObjectMetadata(java.lang.String bucketName,
java.lang.String key)
Gets the metadata for the specified Amazon S3 object without actually
fetching the object itself.
|
GetObjectTaggingResult |
getObjectTagging(GetObjectTaggingRequest getObjectTaggingRequest)
Returns the tags for the specified object.
|
Region |
getRegion()
Returns the region with which the client is configured.
|
java.lang.String |
getRegionName()
Returns a string representation of the region with which this
client is configured
|
Owner |
getS3AccountOwner()
Gets the current owner of the AWS account that the authenticated sender
of the request is using.
|
Owner |
getS3AccountOwner(GetS3AccountOwnerRequest getS3AccountOwnerRequest)
Gets the current owner of the AWS account that the authenticated sender
of the request is using.
|
java.net.URL |
getUrl(java.lang.String bucketName,
java.lang.String key)
Returns an URL for the object stored in the specified bucket and
key.
|
HeadBucketResult |
headBucket(HeadBucketRequest headBucketRequest)
Performs a head bucket operation on the requested bucket name.
|
InitiateMultipartUploadResult |
initiateMultipartUpload(InitiateMultipartUploadRequest request)
Initiates a multipart upload and returns an InitiateMultipartUploadResult
which contains an upload ID.
|
boolean |
isRequesterPaysEnabled(java.lang.String bucketName)
Retrieves the Requester Pays configuration associated with an Amazon S3
bucket.
|
ListBucketAnalyticsConfigurationsResult |
listBucketAnalyticsConfigurations(ListBucketAnalyticsConfigurationsRequest listBucketAnalyticsConfigurationsRequest)
Lists the analytics configurations for the bucket.
|
ListBucketInventoryConfigurationsResult |
listBucketInventoryConfigurations(ListBucketInventoryConfigurationsRequest listBucketInventoryConfigurationsRequest)
Returns the list of inventory configurations for the bucket.
|
ListBucketMetricsConfigurationsResult |
listBucketMetricsConfigurations(ListBucketMetricsConfigurationsRequest listBucketMetricsConfigurationsRequest)
Lists the metrics configurations for the bucket.
|
java.util.List<Bucket> |
listBuckets()
Returns a list of all Amazon S3 buckets that the authenticated sender of
the request owns.
|
java.util.List<Bucket> |
listBuckets(ListBucketsRequest listBucketsRequest)
Returns a list of all Amazon S3 buckets that the authenticated sender of
the request owns.
|
MultipartUploadListing |
listMultipartUploads(ListMultipartUploadsRequest request)
Lists in-progress multipart uploads.
|
ObjectListing |
listNextBatchOfObjects(ListNextBatchOfObjectsRequest listNextBatchOfObjectsRequest)
Provides an easy way to continue a truncated object listing and retrieve
the next page of results.
|
ObjectListing |
listNextBatchOfObjects(ObjectListing previousObjectListing)
Provides an easy way to continue a truncated object listing and retrieve
the next page of results.
|
VersionListing |
listNextBatchOfVersions(ListNextBatchOfVersionsRequest listNextBatchOfVersionsRequest)
Provides an easy way to continue a truncated
VersionListing and
retrieve the next page of results. |
VersionListing |
listNextBatchOfVersions(VersionListing previousVersionListing)
Provides an easy way to continue a truncated
VersionListing and
retrieve the next page of results. |
ObjectListing |
listObjects(ListObjectsRequest listObjectsRequest)
Returns a list of summary information about the objects in the specified
bucket.
|
ObjectListing |
listObjects(java.lang.String bucketName)
Returns a list of summary information about the objects in the specified
buckets.
|
ObjectListing |
listObjects(java.lang.String bucketName,
java.lang.String prefix)
Returns a list of summary information about the objects in the specified
bucket.
|
ListObjectsV2Result |
listObjectsV2(ListObjectsV2Request listObjectsV2Request) |
ListObjectsV2Result |
listObjectsV2(java.lang.String bucketName) |
ListObjectsV2Result |
listObjectsV2(java.lang.String bucketName,
java.lang.String prefix) |
PartListing |
listParts(ListPartsRequest request)
Lists the parts that have been uploaded for a specific multipart upload.
|
VersionListing |
listVersions(ListVersionsRequest listVersionsRequest)
Returns a list of summary information about the versions in the specified
bucket.
|
VersionListing |
listVersions(java.lang.String bucketName,
java.lang.String prefix)
Returns a list of summary information about the versions in the specified
bucket.
|
VersionListing |
listVersions(java.lang.String bucketName,
java.lang.String prefix,
java.lang.String keyMarker,
java.lang.String versionIdMarker,
java.lang.String delimiter,
java.lang.Integer maxResults)
Returns a list of summary information about the versions in the specified
bucket.
|
PutObjectResult |
putObject(PutObjectRequest putObjectRequest)
Uploads a new object to the specified Amazon S3 bucket.
|
PutObjectResult |
putObject(java.lang.String bucketName,
java.lang.String key,
java.io.File file)
Uploads the specified file to Amazon S3 under the specified bucket and
key name.
|
PutObjectResult |
putObject(java.lang.String bucketName,
java.lang.String key,
java.io.InputStream input,
ObjectMetadata metadata)
Uploads the specified input stream and object metadata to Amazon S3 under
the specified bucket and key name.
|
PutObjectResult |
putObject(java.lang.String bucketName,
java.lang.String key,
java.lang.String content)
Encodes a String into the contents of an S3 object.
|
void |
restoreObject(RestoreObjectRequest copyGlacierObjectRequest)
Restore an object, which was transitioned to Amazon Glacier from Amazon
S3 when it was expired, into Amazon S3 again.
|
void |
restoreObject(java.lang.String bucketName,
java.lang.String key,
int expirationInDays)
Restore an object, which was transitioned to Amazon Glacier from Amazon
S3 when it was expired, into Amazon S3 again.
|
void |
setBucketAccelerateConfiguration(SetBucketAccelerateConfigurationRequest setBucketAccelerateConfigurationRequest)
Sets the accelerate configuration for the specified bucket.
|
void |
setBucketAccelerateConfiguration(java.lang.String bucketName,
BucketAccelerateConfiguration accelerateConfiguration)
Sets the accelerate configuration for the specified bucket.
|
void |
setBucketAcl(SetBucketAclRequest setBucketAclRequest)
Sets the
AccessControlList for the specified Amazon S3 bucket. |
void |
setBucketAcl(java.lang.String bucketName,
AccessControlList acl)
Sets the
AccessControlList for the specified Amazon S3 bucket. |
void |
setBucketAcl(java.lang.String bucketName,
CannedAccessControlList acl)
Sets the
CannedAccessControlList for the specified Amazon S3
bucket using one of the pre-configured
CannedAccessControlLists . |
SetBucketAnalyticsConfigurationResult |
setBucketAnalyticsConfiguration(SetBucketAnalyticsConfigurationRequest setBucketAnalyticsConfigurationRequest)
Sets an analytics configuration for the bucket (specified by the analytics configuration ID).
|
SetBucketAnalyticsConfigurationResult |
setBucketAnalyticsConfiguration(java.lang.String bucketName,
AnalyticsConfiguration analyticsConfiguration)
Sets an analytics configuration for the bucket (specified by the analytics configuration ID).
|
void |
setBucketCrossOriginConfiguration(SetBucketCrossOriginConfigurationRequest setBucketCrossOriginConfigurationRequest)
Sets the cross origin configuration for the specified bucket.
|
void |
setBucketCrossOriginConfiguration(java.lang.String bucketName,
BucketCrossOriginConfiguration bucketCrossOriginConfiguration)
Sets the cross origin configuration for the specified bucket.
|
SetBucketInventoryConfigurationResult |
setBucketInventoryConfiguration(SetBucketInventoryConfigurationRequest setBucketInventoryConfigurationRequest)
Sets an inventory configuration (identified by the inventory ID) to the bucket.
|
SetBucketInventoryConfigurationResult |
setBucketInventoryConfiguration(java.lang.String bucketName,
InventoryConfiguration inventoryConfiguration)
Sets an inventory configuration (identified by the inventory ID) to the bucket.
|
void |
setBucketLifecycleConfiguration(SetBucketLifecycleConfigurationRequest setBucketLifecycleConfigurationRequest)
Sets the lifecycle configuration for the specified bucket.
|
void |
setBucketLifecycleConfiguration(java.lang.String bucketName,
BucketLifecycleConfiguration bucketLifecycleConfiguration)
Sets the lifecycle configuration for the specified bucket.
|
void |
setBucketLoggingConfiguration(SetBucketLoggingConfigurationRequest setBucketLoggingConfigurationRequest)
Sets the logging configuration for the specified bucket.
|
SetBucketMetricsConfigurationResult |
setBucketMetricsConfiguration(SetBucketMetricsConfigurationRequest setBucketMetricsConfigurationRequest)
Sets a metrics configuration (specified by the metrics configuration ID) for the bucket.
|
SetBucketMetricsConfigurationResult |
setBucketMetricsConfiguration(java.lang.String bucketName,
MetricsConfiguration metricsConfiguration)
Sets a metrics configuration (specified by the metrics configuration ID) for the bucket.
|
void |
setBucketNotificationConfiguration(SetBucketNotificationConfigurationRequest setBucketNotificationConfigurationRequest)
Sets the notification configuration for the specified bucket.
|
void |
setBucketNotificationConfiguration(java.lang.String bucketName,
BucketNotificationConfiguration bucketNotificationConfiguration)
Sets the notification configuration for the specified bucket.
|
void |
setBucketPolicy(SetBucketPolicyRequest setBucketPolicyRequest)
Sets the policy associated with the specified bucket.
|
void |
setBucketPolicy(java.lang.String bucketName,
java.lang.String policyText)
Sets the policy associated with the specified bucket.
|
void |
setBucketReplicationConfiguration(SetBucketReplicationConfigurationRequest setBucketReplicationConfigurationRequest)
Sets a replication configuration for the Amazon S3 bucket.
|
void |
setBucketReplicationConfiguration(java.lang.String bucketName,
BucketReplicationConfiguration configuration)
Sets a replication configuration for the Amazon S3 bucket.
|
void |
setBucketTaggingConfiguration(SetBucketTaggingConfigurationRequest setBucketTaggingConfigurationRequest)
Sets the tagging configuration for the specified bucket.
|
void |
setBucketTaggingConfiguration(java.lang.String bucketName,
BucketTaggingConfiguration bucketTaggingConfiguration)
Sets the tagging configuration for the specified bucket.
|
void |
setBucketVersioningConfiguration(SetBucketVersioningConfigurationRequest setBucketVersioningConfigurationRequest)
Sets the versioning configuration for the specified bucket.
|
void |
setBucketWebsiteConfiguration(SetBucketWebsiteConfigurationRequest setBucketWebsiteConfigurationRequest)
Sets the website configuration for the specified bucket.
|
void |
setBucketWebsiteConfiguration(java.lang.String bucketName,
BucketWebsiteConfiguration configuration)
Sets the website configuration for the specified bucket.
|
void |
setEndpoint(java.lang.String endpoint)
Overrides the default endpoint for this client.
|
void |
setObjectAcl(SetObjectAclRequest setObjectAclRequest)
Sets the
AccessControlList for the specified Amazon S3 object
with an optional version ID. |
void |
setObjectAcl(java.lang.String bucketName,
java.lang.String key,
AccessControlList acl)
Sets the
AccessControlList for the specified object in Amazon S3. |
void |
setObjectAcl(java.lang.String bucketName,
java.lang.String key,
CannedAccessControlList acl)
Sets the
CannedAccessControlList for the specified object in
Amazon S3 using one of the pre-configured
CannedAccessControlLists . |
void |
setObjectAcl(java.lang.String bucketName,
java.lang.String key,
java.lang.String versionId,
AccessControlList acl)
Sets the
CannedAccessControlList for the specified object with
the specified version in Amazon S3. |
void |
setObjectAcl(java.lang.String bucketName,
java.lang.String key,
java.lang.String versionId,
CannedAccessControlList acl)
Sets the
CannedAccessControlList for the specified object with
the specified version ID in Amazon S3 using one of the pre-configured
CannedAccessControlLists . |
void |
setObjectRedirectLocation(java.lang.String bucketName,
java.lang.String key,
java.lang.String newRedirectLocation)
Changes the Amazon S3 redirect location for a specific object.
|
SetObjectTaggingResult |
setObjectTagging(SetObjectTaggingRequest setObjectTaggingRequest)
Set the tags for the specified object.
|
void |
setRegion(Region region)
An alternative to
setEndpoint(String) , sets the regional
endpoint for this client's service calls. |
void |
setS3ClientOptions(S3ClientOptions clientOptions)
Override the default S3 client options for this client.
|
UploadPartResult |
uploadPart(UploadPartRequest request)
Uploads a part in a multipart upload.
|
void setEndpoint(java.lang.String endpoint)
Overrides the default endpoint for this client. Use this method to send requests to the specified AWS region.
Pass the endpoint (e.g. "s3.amazonaws.com") or a full URL, including the
protocol (e.g. "https://s3.amazonaws.com"). If the protocol is not
specified, the protocol from this client's
ClientConfiguration
is used.
endpoint
- The endpoint (e.g. "s3.amazonaws.com") or the full URL,
including the protocol (e.g. "https://s3.amazonaws.com"), of
the region-specific AWS endpoint this client will communicate
with.java.lang.IllegalArgumentException
- If the specified endpoint is not a valid
URL endpoint.void setRegion(Region region) throws java.lang.IllegalArgumentException
setEndpoint(String)
, sets the regional
endpoint for this client's service calls. Callers can use this method to
control which AWS region they want to work with.
This method is not threadsafe. A region should be configured when the client is created and before any service requests are made. Changing it afterwards creates inevitable race conditions for any service requests in transit or retrying.
By default, all service endpoints in all regions use the https protocol.
To use http instead, specify it in the ClientConfiguration
supplied at construction.
region
- The region this client will communicate with. See
Region.getRegion(com.amazonaws.regions.Regions)
for accessing a given region.java.lang.IllegalArgumentException
- If the given region is null,
or if this service isn't available in the given region. See
Region.isServiceSupported(String)
Region.getRegion(com.amazonaws.regions.Regions)
,
Region.createClient(Class,
com.amazonaws.auth.AWSCredentialsProvider, ClientConfiguration)
void setS3ClientOptions(S3ClientOptions clientOptions)
Override the default S3 client options for this client.
clientOptions
- The S3 client options to use.void changeObjectStorageClass(java.lang.String bucketName, java.lang.String key, StorageClass newStorageClass) throws AmazonClientException, AmazonServiceException
Changes the Amazon S3 storage class for a specified object. Amazon S3 offers multiple storage classes for developers' different needs.
Note that changing the storage class of an object in a bucket that has enabled versioning creates a new version of the object with the new storage class. The existing version of the object persists in the current storage class.
bucketName
- The name of the bucket containing the object.key
- The key of the object within the specified bucket.newStorageClass
- The new storage class for the specified object.AmazonClientException
- If any errors are encountered in the client
while making the request or handling the response.AmazonServiceException
- If any errors occurred in Amazon S3 while
processing the request.void setObjectRedirectLocation(java.lang.String bucketName, java.lang.String key, java.lang.String newRedirectLocation) throws AmazonClientException, AmazonServiceException
Changes the Amazon S3 redirect location for a specific object.
bucketName
- The name of the bucket containing the object.key
- The key of the object within the specified bucket.newRedirectLocation
- The new redirect location for the specified
object.AmazonClientException
- If any errors are encountered in the client
while making the request or handling the response.AmazonServiceException
- If any errors occurred in Amazon S3 while
processing the request.ObjectListing listObjects(java.lang.String bucketName) throws AmazonClientException, AmazonServiceException
Returns a list of summary information about the objects in the specified buckets. List results are always returned in lexicographic (alphabetical) order.
Because buckets can contain a virtually unlimited number of keys, the
complete results of a list query can be extremely large. To manage large
result sets, Amazon S3 uses pagination to split them into multiple
responses. Always check the ObjectListing.isTruncated()
method to
see if the returned listing is complete or if additional calls are needed
to get more results. Alternatively, use the
AmazonS3Client.listNextBatchOfObjects(ObjectListing)
method as an
easy way to get the next page of object listings.
The total number of keys in a bucket doesn't substantially affect list performance.
bucketName
- The name of the Amazon S3 bucket to list.AmazonClientException
- If any errors are encountered in the client
while making the request or handling the response.AmazonServiceException
- If any errors occurred in Amazon S3 while
processing the request.AmazonS3Client.listObjects(String, String)
,
AmazonS3Client.listObjects(ListObjectsRequest)
ObjectListing listObjects(java.lang.String bucketName, java.lang.String prefix) throws AmazonClientException, AmazonServiceException
Returns a list of summary information about the objects in the specified bucket. Depending on request parameters, additional information is returned, such as common prefixes if a delimiter was specified. List results are always returned in lexicographic (alphabetical) order.
Because buckets can contain a virtually unlimited number of keys, the
complete results of a list query can be extremely large. To manage large
result sets, Amazon S3 uses pagination to split them into multiple
responses. Always check the ObjectListing.isTruncated()
method to
see if the returned listing is complete or if additional calls are needed
to get more results. Alternatively, use the
AmazonS3Client.listNextBatchOfObjects(ObjectListing)
method as an
easy way to get the next page of object listings.
For example, consider a bucket that contains the following keys:
listObjects
with a prefix
value of
"foo/" and a delimiter
value of "/" on this bucket, an
ObjectListing
is returned that contains one key ("foo/boo")
and one entry in the common prefixes list ("foo/bar/"). To see deeper
into the virtual hierarchy, make another call to listObjects
setting the prefix parameter to any interesting common prefix to list the
individual keys under that prefix.
The total number of keys in a bucket doesn't substantially affect list performance.
bucketName
- The name of the Amazon S3 bucket to list.prefix
- An optional parameter restricting the response to keys
beginning with the specified prefix. Use prefixes to separate
a bucket into different sets of keys, similar to how a file
system organizes files into directories.AmazonClientException
- If any errors are encountered in the client
while making the request or handling the response.AmazonServiceException
- If any errors occurred in Amazon S3 while
processing the request.AmazonS3Client.listObjects(String)
,
AmazonS3Client.listObjects(ListObjectsRequest)
ObjectListing listObjects(ListObjectsRequest listObjectsRequest) throws AmazonClientException, AmazonServiceException
Returns a list of summary information about the objects in the specified bucket. Depending on the request parameters, additional information is returned, such as common prefixes if a delimiter was specified. List results are always returned in lexicographic (alphabetical) order.
Because buckets can contain a virtually unlimited number of keys, the
complete results of a list query can be extremely large. To manage large
result sets, Amazon S3 uses pagination to split them into multiple
responses. Always check the ObjectListing.isTruncated()
method to
see if the returned listing is complete or if additional calls are needed
to get more results. Alternatively, use the
AmazonS3Client.listNextBatchOfObjects(ObjectListing)
method as an
easy way to get the next page of object listings.
Calling ListObjectsRequest.setDelimiter(String)
sets the
delimiter, allowing groups of keys that share the delimiter-terminated
prefix to be included in the returned listing. This allows applications
to organize and browse their keys hierarchically, similar to how a file
system organizes files into directories. These common prefixes can be
retrieved through the ObjectListing.getCommonPrefixes()
method.
For example, consider a bucket that contains the following keys:
listObjects
with a prefix value of "foo/" and a
delimiter value of "/" on this bucket, an ObjectListing
is
returned that contains one key ("foo/boo") and one entry in the common
prefixes list ("foo/bar/"). To see deeper into the virtual hierarchy,
make another call to listObjects
setting the prefix
parameter to any interesting common prefix to list the individual keys
under that prefix.
The total number of keys in a bucket doesn't substantially affect list performance.
listObjectsRequest
- The request object containing all options for
listing the objects in a specified bucket.AmazonClientException
- If any errors are encountered in the client
while making the request or handling the response.AmazonServiceException
- If any errors occurred in Amazon S3 while
processing the request.AmazonS3Client.listObjects(String)
,
AmazonS3Client.listObjects(String, String)
ListObjectsV2Result listObjectsV2(java.lang.String bucketName) throws AmazonClientException, AmazonServiceException
ListObjectsV2Result listObjectsV2(java.lang.String bucketName, java.lang.String prefix) throws AmazonClientException, AmazonServiceException
ListObjectsV2Result listObjectsV2(ListObjectsV2Request listObjectsV2Request) throws AmazonClientException, AmazonServiceException
ObjectListing listNextBatchOfObjects(ObjectListing previousObjectListing) throws AmazonClientException, AmazonServiceException
Provides an easy way to continue a truncated object listing and retrieve the next page of results.
To continue the object listing and retrieve the next page of results,
call the initial ObjectListing
from one of the
listObjects
methods. If truncated (indicated when
ObjectListing.isTruncated()
returns true
), pass the
ObjectListing
back into this method in order to retrieve the
next page of results. Continue using this method to retrieve more results
until the returned ObjectListing
indicates that it is not
truncated.
previousObjectListing
- The previous truncated
ObjectListing
. If a non-truncated
ObjectListing
is passed in, an empty
ObjectListing
is returned without ever contacting
Amazon S3.ObjectListing
results, beginning
immediately after the last result in the specified previous
ObjectListing
.AmazonClientException
- If any errors are encountered in the client
while making the request or handling the response.AmazonServiceException
- If any errors occurred in Amazon S3 while
processing the request.AmazonS3Client.listObjects(String)
,
AmazonS3Client.listObjects(String, String)
,
AmazonS3Client.listObjects(ListObjectsRequest)
ObjectListing listNextBatchOfObjects(ListNextBatchOfObjectsRequest listNextBatchOfObjectsRequest) throws AmazonClientException, AmazonServiceException
Provides an easy way to continue a truncated object listing and retrieve the next page of results.
To continue the object listing and retrieve the next page of results,
call the initial ObjectListing
from one of the
listObjects
methods. If truncated (indicated when
ObjectListing.isTruncated()
returns true
), pass the
ObjectListing
back into this method in order to retrieve the
next page of results. Continue using this method to retrieve more results
until the returned ObjectListing
indicates that it is not
truncated.
listNextBatchOfObjectsRequest
- The request object for listing next
batch of objects using the previous truncated
ObjectListing
. If a non-truncated
ObjectListing
is passed in by the request object,
an empty ObjectListing
is returned without ever
contacting Amazon S3.ObjectListing
results, beginning
immediately after the last result in the specified previous
ObjectListing
.AmazonClientException
- If any errors are encountered in the client
while making the request or handling the response.AmazonServiceException
- If any errors occurred in Amazon S3 while
processing the request.AmazonS3Client.listObjects(String)
,
AmazonS3Client.listObjects(String, String)
,
AmazonS3Client.listObjects(ListObjectsRequest)
,
AmazonS3Client.listNextBatchOfObjects(ObjectListing)
VersionListing listVersions(java.lang.String bucketName, java.lang.String prefix) throws AmazonClientException, AmazonServiceException
Returns a list of summary information about the versions in the specified bucket.
The returned version summaries are ordered first by key and then by version. Keys are sorted lexicographically (alphabetically) while versions are sorted from most recent to least recent. Both versions with data and delete markers are included in the results.
Because buckets can contain a virtually unlimited number of versions, the
complete results of a list query can be extremely large. To manage large
result sets, Amazon S3 uses pagination to split them into multiple
responses. Always check the VersionListing.isTruncated()
method
to determine if the returned listing is complete or if additional calls
are needed to get more results. Callers are encouraged to use
listNextBatchOfVersions(VersionListing)
as an easy way
to get the next page of results.
For more information about enabling versioning for a bucket, see
setBucketVersioningConfiguration(SetBucketVersioningConfigurationRequest)
.
bucketName
- The name of the Amazon S3 bucket whose versions are to
be listed.prefix
- An optional parameter restricting the response to keys
beginning with the specified prefix. Use prefixes to separate
a bucket into different sets of keys, similar to how a file
system organizes files into directories.AmazonClientException
- If any errors are encountered in the client
while making the request or handling the response.AmazonServiceException
- If any errors occurred in Amazon S3 while
processing the request.AmazonS3Client.listVersions(ListVersionsRequest)
,
AmazonS3Client.listVersions(String, String, String, String, String,
Integer)
VersionListing listNextBatchOfVersions(VersionListing previousVersionListing) throws AmazonClientException, AmazonServiceException
Provides an easy way to continue a truncated VersionListing
and
retrieve the next page of results.
Obtain the initial VersionListing
from one of the
listVersions
methods. If the result is truncated (indicated
when ObjectListing.isTruncated()
returns true
), pass
the VersionListing
back into this method in order to
retrieve the next page of results. From there, continue using this method
to retrieve more results until the returned VersionListing
indicates that it is not truncated.
For more information about enabling versioning for a bucket, see
setBucketVersioningConfiguration(SetBucketVersioningConfigurationRequest)
.
previousVersionListing
- The previous truncated
VersionListing
. If a non-truncated
VersionListing
is passed in, an empty
VersionListing
is returned without ever
contacting Amazon S3.VersionListing
results, beginning
immediately after the last result in the specified previous
VersionListing
.AmazonClientException
- If any errors are encountered in the client
while making the request or handling the response.AmazonServiceException
- If any errors occurred in Amazon S3 while
processing the request.AmazonS3Client.listVersions(String, String)
,
AmazonS3Client.listVersions(ListVersionsRequest)
,
AmazonS3Client.listVersions(String, String, String, String, String,
Integer)
VersionListing listNextBatchOfVersions(ListNextBatchOfVersionsRequest listNextBatchOfVersionsRequest) throws AmazonClientException, AmazonServiceException
Provides an easy way to continue a truncated VersionListing
and
retrieve the next page of results.
Obtain the initial VersionListing
from one of the
listVersions
methods. If the result is truncated (indicated
when VersionListing.isTruncated()
returns true
),
pass the VersionListing
back into this method in order to
retrieve the next page of results. From there, continue using this method
to retrieve more results until the returned VersionListing
indicates that it is not truncated.
For more information about enabling versioning for a bucket, see
setBucketVersioningConfiguration(SetBucketVersioningConfigurationRequest)
.
listNextBatchOfVersionsRequest
- The request object for listing next
batch of versions using the previous truncated
VersionListing
. If a non-truncated
VersionListing
is passed in by the request
object, an empty VersionListing
is returned
without ever contacting Amazon S3.VersionListing
results, beginning
immediately after the last result in the specified previous
VersionListing
.AmazonClientException
- If any errors are encountered in the client
while making the request or handling the response.AmazonServiceException
- If any errors occurred in Amazon S3 while
processing the request.AmazonS3Client.listVersions(String, String)
,
AmazonS3Client.listVersions(ListVersionsRequest)
,
AmazonS3Client.listVersions(String, String, String, String, String,
Integer)
,
AmazonS3Client.listNextBatchOfVersions(VersionListing)
VersionListing listVersions(java.lang.String bucketName, java.lang.String prefix, java.lang.String keyMarker, java.lang.String versionIdMarker, java.lang.String delimiter, java.lang.Integer maxResults) throws AmazonClientException, AmazonServiceException
Returns a list of summary information about the versions in the specified bucket.
The returned version summaries are ordered first by key and then by version. Keys are sorted lexicographically (alphabetically) and versions are sorted from most recent to least recent. Versions with data and delete markers are included in the results.
Because buckets can contain a virtually unlimited number of versions, the
complete results of a list query can be extremely large. To manage large
result sets, Amazon S3 uses pagination to split them into multiple
responses. Always check the VersionListing.isTruncated()
method
to determine if the returned listing is complete or if additional calls
are needed to get more results. Callers are encouraged to use
listNextBatchOfVersions(VersionListing)
as an easy way
to get the next page of results.
The keyMarker
and versionIdMarker
parameters
allow callers to specify where to start the version listing.
The delimiter
parameter allows groups of keys that share a
delimiter-terminated prefix to be included in the returned listing. This
allows applications to organize and browse their keys hierarchically,
much like how a file system organizes files into directories. These
common prefixes can be retrieved by calling the
VersionListing.getCommonPrefixes()
method.
For example, consider a bucket that contains the following keys:
listVersions
with a prefix
value of
"foo/" and a delimiter
value of "/" on this bucket, a
VersionListing
is returned that contains:
To see deeper into the virtual hierarchy, make another call to
listVersions
setting the prefix parameter to any interesting
common prefix to list the individual versions under that prefix.
For more information about enabling versioning for a bucket, see
setBucketVersioningConfiguration(SetBucketVersioningConfigurationRequest)
.
bucketName
- The name of the Amazon S3 bucket whose versions are to
be listed.prefix
- An optional parameter restricting the response to keys that
begin with the specified prefix. Use prefixes to separate a
bucket into different sets of keys, similar to how a file
system organizes files into directories.keyMarker
- Optional parameter indicating where in the sorted list
of all versions in the specified bucket to begin returning
results. Results are always ordered first lexicographically
(i.e. alphabetically) and then from most recent version to
least recent version. If a keyMarker is used without a
versionIdMarker, results begin immediately after that key's
last version. When a keyMarker is used with a versionIdMarker,
results begin immediately after the version with the specified
key and version ID.
This enables pagination; to get the next page of results use
the next key marker and next version ID marker (from
VersionListing.getNextKeyMarker()
and
VersionListing.getNextVersionIdMarker()
) as the
markers for the next request to list versions, or use the
convenience method
listNextBatchOfVersions(VersionListing)
versionIdMarker
- Optional parameter indicating where in the sorted
list of all versions in the specified bucket to begin
returning results. Results are always ordered first
lexicographically (i.e. alphabetically) and then from most
recent version to least recent version. A keyMarker must be
specified when specifying a versionIdMarker. Results begin
immediately after the version with the specified key and
version ID.
This enables pagination; to get the next page of results use
the next key marker and next version ID marker (from
VersionListing.getNextKeyMarker()
and
VersionListing.getNextVersionIdMarker()
) as the
markers for the next request to list versions, or use the
convenience method
listNextBatchOfVersions(VersionListing)
delimiter
- Optional parameter that causes keys that contain the
same string between the prefix and the first occurrence of the
delimiter to be rolled up into a single result element in the
VersionListing.getCommonPrefixes()
list. These
rolled-up keys are not returned elsewhere in the response. The
most commonly used delimiter is "/", which simulates a
hierarchical organization similar to a file system directory
structure.maxResults
- Optional parameter indicating the maximum number of
results to include in the response. Amazon S3 might return
fewer than this, but will not return more. Even if maxKeys is
not specified, Amazon S3 will limit the number of results in
the response.AmazonClientException
- If any errors are encountered in the client
while making the request or handling the response.AmazonServiceException
- If any errors occurred in Amazon S3 while
processing the request.AmazonS3Client.listVersions(String, String)
,
AmazonS3Client.listVersions(ListVersionsRequest)
,
AmazonS3Client.listNextBatchOfVersions(VersionListing)
VersionListing listVersions(ListVersionsRequest listVersionsRequest) throws AmazonClientException, AmazonServiceException
Returns a list of summary information about the versions in the specified bucket.
The returned version summaries are ordered first by key and then by version. Keys are sorted lexicographically (alphabetically) and versions are sorted from most recent to least recent. Versions with data and delete markers are included in the results.
Because buckets can contain a virtually unlimited number of versions, the
complete results of a list query can be extremely large. To manage large
result sets, Amazon S3 uses pagination to split them into multiple
responses. Always check the VersionListing.isTruncated()
method
to determine if the returned listing is complete or if additional calls
are needed to get more results. Callers are encouraged to use
listNextBatchOfVersions(VersionListing)
as an easy way
to get the next page of results.
The keyMarker
and versionIdMarker
parameters
allow callers to specify where to start the version listing.
The delimiter
parameter allows groups of keys that share a
delimiter-terminated prefix to be included in the returned listing. This
allows applications to organize and browse their keys hierarchically,
much like how a file system organizes files into directories. These
common prefixes can be retrieved by calling the
VersionListing.getCommonPrefixes()
method.
For example, consider a bucket that contains the following keys:
listVersions
with a prefix
value of
"foo/" and a delimiter
value of "/" on this bucket, a
VersionListing
is returned that contains:
To see deeper into the virtual hierarchy, make another call to
listVersions
setting the prefix parameter to any interesting
common prefix to list the individual versions under that prefix.
For more information about enabling versioning for a bucket, see
setBucketVersioningConfiguration(SetBucketVersioningConfigurationRequest)
.
listVersionsRequest
- The request object containing all options for
listing the versions in a specified bucket.AmazonClientException
- If any errors are encountered in the client
while making the request or handling the response.AmazonServiceException
- If any errors occurred in Amazon S3 while
processing the request.AmazonS3Client.listVersions(String, String)
,
AmazonS3Client.listVersions(String, String, String, String, String,
Integer)
,
AmazonS3Client.listNextBatchOfVersions(VersionListing)
Owner getS3AccountOwner() throws AmazonClientException, AmazonServiceException
Gets the current owner of the AWS account that the authenticated sender of the request is using.
The caller must authenticate with a valid AWS Access Key ID that is registered with Amazon S3.
AmazonClientException
- If any errors are encountered in the client
while making the request or handling the response.AmazonServiceException
- If any errors occurred in Amazon S3 while
processing the request.Owner getS3AccountOwner(GetS3AccountOwnerRequest getS3AccountOwnerRequest) throws AmazonClientException, AmazonServiceException
Gets the current owner of the AWS account that the authenticated sender of the request is using.
The caller must authenticate with a valid AWS Access Key ID that is registered with AWS.
getS3AccountOwnerRequest
- The request object for retrieving the S3
account owner.AmazonClientException
- If any errors are encountered in the client
while making the request or handling the response.AmazonServiceException
- If any errors occurred in Amazon S3 while
processing the request.getS3AccountOwner()
boolean doesBucketExist(java.lang.String bucketName) throws AmazonClientException, AmazonServiceException
bucketName
- The name of the bucket to check.true
if the specified bucket exists in
Amazon S3; the value false
if there is no bucket in
Amazon S3 with that name.AmazonClientException
- If any errors are encountered in the client
while making the request or handling the response.AmazonServiceException
- If any errors occurred in Amazon S3 while
processing the request.createBucket(CreateBucketRequest)
HeadBucketResult headBucket(HeadBucketRequest headBucketRequest) throws AmazonClientException, AmazonServiceException
headBucketRequest
- The request containing the bucket name.HeadBucketResult
if the bucket
exists and you have permission to access it. Otherwise, the
method will throw an AmazonServiceException
with status
code '404 Not Found'
if the bucket does not exist,
'403 Forbidden'
if the user does not have access to the
bucket, or '301 Moved Permanently'
if the bucket is in a
different region than the client is configured withAmazonClientException
- If any errors are encountered in the client
while making the request or handling the response.AmazonServiceException
- If any errors occurred in Amazon S3 while
processing the request.java.util.List<Bucket> listBuckets() throws AmazonClientException, AmazonServiceException
Returns a list of all Amazon S3 buckets that the authenticated sender of the request owns.
Users must authenticate with a valid AWS Access Key ID that is registered with Amazon S3. Anonymous requests cannot list buckets, and users cannot list buckets that they did not create.
AmazonClientException
- If any errors are encountered in the client
while making the request or handling the response.AmazonServiceException
- If any errors occurred in Amazon S3 while
processing the request.listBuckets(ListBucketsRequest)
java.util.List<Bucket> listBuckets(ListBucketsRequest listBucketsRequest) throws AmazonClientException, AmazonServiceException
Returns a list of all Amazon S3 buckets that the authenticated sender of the request owns.
Users must authenticate with a valid AWS Access Key ID that is registered with Amazon S3. Anonymous requests cannot list buckets, and users cannot list buckets that they did not create.
request
- The request containing all of the options related to the
listing of buckets.AmazonClientException
- If any errors are encountered in the client
while making the request or handling the response.AmazonServiceException
- If any errors occurred in Amazon S3 while
processing the request.listBuckets()
java.lang.String getBucketLocation(java.lang.String bucketName) throws AmazonClientException, AmazonServiceException
Gets the geographical region where Amazon S3 stores the specified bucket.
To view the location constraint of a bucket, the user must be the bucket owner.
Use Region.fromValue(String)
to get the Region
enumeration value, but be prepared to handle an
IllegalArgumentException
if the value passed is not a known
Region
value.
Note that Region
enumeration values are not returned
directly from this method.
bucketName
- The name of the Amazon S3 bucket to look up. This must
be a bucket the user owns.AmazonClientException
- If any errors are encountered in the client
while making the request or handling the response.AmazonServiceException
- If any errors occurred in Amazon S3 while
processing the request.Region
java.lang.String getBucketLocation(GetBucketLocationRequest getBucketLocationRequest) throws AmazonClientException, AmazonServiceException
Gets the geographical region where Amazon S3 stores the specified bucket.
To view the location constraint of a bucket, the user must be the bucket owner.
Use Region.fromValue(String)
to get the Region
enumeration value, but be prepared to handle an
IllegalArgumentException
if the value passed is not a known
Region
value.
Note that Region
enumeration values are not returned
directly from this method.
getBucketLocationRequest
- The request object containing the name of
the Amazon S3 bucket to look up. This must be a bucket the
user owns.AmazonClientException
- If any errors are encountered in the client
while making the request or handling the response.AmazonServiceException
- If any errors occurred in Amazon S3 while
processing the request.Region
Bucket createBucket(CreateBucketRequest createBucketRequest) throws AmazonClientException, AmazonServiceException
Creates a new Amazon S3 bucket in the default region,
Region.US_Standard
.
Every object stored in Amazon S3 is contained within a bucket. Buckets partition the namespace of objects stored in Amazon S3 at the top level. Within a bucket, any name can be used for objects. However, bucket names must be unique across all of Amazon S3.
Bucket ownership is similar to the ownership of Internet domain names. Within Amazon S3, only a single user owns each bucket. Once a uniquely named bucket is created in Amazon S3, organize and name the objects within the bucket in any way. Ownership of the bucket is retained as long as the owner has an Amazon S3 account.
To conform with DNS requirements, the following constraints apply:
There are no limits to the number of objects that can be stored in a bucket. Performance does not vary based on the number of buckets used. Store all objects within a single bucket or organize them across several buckets.
Buckets cannot be nested; buckets cannot be created within other buckets.
Do not make bucket create or delete calls in the high availability code path of an application. Create or delete buckets in a separate initialization or setup routine that runs less often.
To create a bucket, authenticate with an account that has a valid AWS Access Key ID and is registered with Amazon S3. Anonymous requests are never allowed to create buckets.
createBucketRequest
- The request object containing all options for
creating an Amazon S3 bucket.AmazonClientException
- If any errors are encountered in the client
while making the request or handling the response.AmazonServiceException
- If any errors occurred in Amazon S3 while
processing the request.Bucket createBucket(java.lang.String bucketName) throws AmazonClientException, AmazonServiceException
Creates a new Amazon S3 bucket with the specified name in the default
(US) region, Region.US_Standard
.
Every object stored in Amazon S3 is contained within a bucket. Buckets partition the namespace of objects stored in Amazon S3 at the top level. Within a bucket, any name can be used for objects. However, bucket names must be unique across all of Amazon S3.
Bucket ownership is similar to the ownership of Internet domain names. Within Amazon S3, only a single user owns each bucket. Once a uniquely named bucket is created in Amazon S3, organize and name the objects within the bucket in any way. Ownership of the bucket is retained as long as the owner has an Amazon S3 account.
To conform with DNS requirements, the following constraints apply:
There are no limits to the number of objects that can be stored in a bucket. Performance does not vary based on the number of buckets used. Store all objects within a single bucket or organize them across several buckets.
Buckets cannot be nested; buckets cannot be created within other buckets.
Do not make bucket create or delete calls in the high availability code path of an application. Create or delete buckets in a separate initialization or setup routine that runs less often.
To create a bucket, authenticate with an account that has a valid AWS Access Key ID and is registered with Amazon S3. Anonymous requests are never allowed to create buckets.
bucketName
- The name of the bucket to create. All buckets in Amazon
S3 share a single namespace; ensure the bucket is given a
unique name.AmazonClientException
- If any errors are encountered in the client
while making the request or handling the response.AmazonServiceException
- If any errors occurred in Amazon S3 while
processing the request.Bucket createBucket(java.lang.String bucketName, Region region) throws AmazonClientException, AmazonServiceException
Creates a new Amazon S3 bucket with the specified name in the specified Amazon S3 region.
Every object stored in Amazon S3 is contained within a bucket. Buckets partition the namespace of objects stored in Amazon S3 at the top level. Within a bucket, any name can be used for objects. However, bucket names must be unique across all of Amazon S3.
Bucket ownership is similar to the ownership of Internet domain names. Within Amazon S3, only a single user owns each bucket. Once a uniquely named bucket is created in Amazon S3, organize and name the objects within the bucket in any way. Ownership of the bucket is retained as long as the owner has an Amazon S3 account.
To conform with DNS requirements, the following constraints apply:
There are no limits to the number of objects that can be stored in a bucket. Performance does not vary based on the number of buckets used. Store all objects within a single bucket or organize them across several buckets.
Buckets cannot be nested; buckets cannot be created within other buckets.
Do not make bucket create or delete calls in the high availability code path of an application. Create or delete buckets in a separate initialization or setup routine that runs less often.
To create a bucket, authenticate with an account that has a valid AWS Access Key ID and is registered with Amazon S3. Anonymous requests are never allowed to create buckets.
bucketName
- The name of the bucket to create.region
- The Amazon S3 region in which to create the new bucket.AmazonClientException
- If any errors are encountered in the client
while making the request or handling the response.AmazonServiceException
- If any errors occurred in Amazon S3 while
processing the request.Region
Bucket createBucket(java.lang.String bucketName, java.lang.String region) throws AmazonClientException, AmazonServiceException
Creates a new Amazon S3 bucket with the specified name in the specified
Amazon S3 region. This method is provided for non-standard cases; use
createBucket(String, Region)
and pass in a Region
enumeration value in standard cases.
Every object stored in Amazon S3 is contained within a bucket. Buckets partition the namespace of objects stored in Amazon S3 at the top level. Within a bucket, any name can be used for objects. However, bucket names must be unique across all of Amazon S3.
Bucket ownership is similar to the ownership of Internet domain names. Within Amazon S3, only a single user owns each bucket. Once a uniquely named bucket is created in Amazon S3, organize and name the objects within the bucket in any way. Ownership of the bucket is retained as long as the owner has an Amazon S3 account.
To conform with DNS requirements, the following constraints apply:
There are no limits to the number of objects that can be stored in a bucket. Performance does not vary based on the number of buckets used. Store all objects within a single bucket or organize them across several buckets.
Buckets cannot be nested; buckets cannot be created within other buckets.
Do not make bucket create or delete calls in the high availability code path of an application. Create or delete buckets in a separate initialization or setup routine that runs less often.
To create a bucket, authenticate with an account that has a valid AWS Access Key ID and is registered with Amazon S3. Anonymous requests are never allowed to create buckets.
bucketName
- The name of the bucket to create.region
- The Amazon S3 region in which to create the new bucket.AmazonClientException
- If any errors are encountered in the client
while making the request or handling the response.AmazonServiceException
- If any errors occurred in Amazon S3 while
processing the request.Region
AccessControlList getObjectAcl(java.lang.String bucketName, java.lang.String key) throws AmazonClientException, AmazonServiceException
Gets the AccessControlList
(ACL) for the specified object in
Amazon S3.
Each bucket and object in Amazon S3 has an ACL that defines its access control policy. When a request is made, Amazon S3 authenticates the request using its standard authentication procedure and then checks the ACL to verify the sender was granted access to the bucket or object. If the sender is approved, the request proceeds. Otherwise, Amazon S3 returns an error.
bucketName
- The name of the bucket containing the object whose ACL
is being retrieved.key
- The key of the object within the specified bucket whose ACL is
being retrieved.AccessControlList
for the specified Amazon S3
object.AmazonClientException
- If any errors are encountered in the client
while making the request or handling the response.AmazonServiceException
- If any errors occurred in Amazon S3 while
processing the request.getObjectAcl(String, String, String)
AccessControlList getObjectAcl(java.lang.String bucketName, java.lang.String key, java.lang.String versionId) throws AmazonClientException, AmazonServiceException
Gets the AccessControlList
(ACL) for the specified object with
the specified version in Amazon S3. Each version of an object has its own
associated ACL.
Each bucket and object in Amazon S3 has an ACL that defines its access control policy. When a request is made, Amazon S3 authenticates the request using its standard authentication procedure and then checks the ACL to verify the sender was granted access to the bucket or object. If the sender is approved, the request proceeds. Otherwise, Amazon S3 returns an error.
For more information about enabling versioning for a bucket, see
setBucketVersioningConfiguration(SetBucketVersioningConfigurationRequest)
.
bucketName
- The name of the bucket containing the object whose ACL
is being retrieved.key
- The key of the object within the specified bucket whose ACL is
being retrieved.versionId
- The version ID of the object version whose ACL is being
retrieved.AccessControlList
for the specified Amazon S3
object.AmazonClientException
- If any errors are encountered in the client
while making the request or handling the response.AmazonServiceException
- If any errors occurred in Amazon S3 while
processing the request.getObjectAcl(String, String)
AccessControlList getObjectAcl(GetObjectAclRequest getObjectAclRequest) throws AmazonClientException, AmazonServiceException
Gets the AccessControlList
(ACL) for the specified object in
Amazon S3.
Each bucket and object in Amazon S3 has an ACL that defines its access control policy. When a request is made, Amazon S3 authenticates the request using its standard authentication procedure and then checks the ACL to verify the sender was granted access to the bucket or object. If the sender is approved, the request proceeds. Otherwise, Amazon S3 returns an error.
getObjectAclRequest
- the request object containing all the
information needed for retrieving the object ACL.AccessControlList
for the specified Amazon S3
object.AmazonClientException
- If any errors are encountered in the client
while making the request or handling the response.AmazonServiceException
- If any errors occurred in Amazon S3 while
processing the request.getObjectAcl(String, String, String)
void setObjectAcl(java.lang.String bucketName, java.lang.String key, AccessControlList acl) throws AmazonClientException, AmazonServiceException
Sets the AccessControlList
for the specified object in Amazon S3.
Each bucket and object in Amazon S3 has an ACL that defines its access control policy. When a request is made, Amazon S3 authenticates the request using its standard authentication procedure and then checks the ACL to verify the sender was granted access to the bucket or object. If the sender is approved, the request proceeds. Otherwise, Amazon S3 returns an error.
When constructing a custom AccessControlList
, callers
typically retrieve the existing AccessControlList
for an
object ( AmazonS3Client.getObjectAcl(String, String)
), modify it
as necessary, and then use this method to upload the new ACL.
bucketName
- The name of the bucket containing the object whose ACL
is being set.key
- The key of the object within the specified bucket whose ACL is
being set.acl
- The new AccessControlList
for the specified
object.AmazonClientException
- If any errors are encountered in the client
while making the request or handling the response.AmazonServiceException
- If any errors occurred in Amazon S3 while
processing the request.setObjectAcl(String, String, CannedAccessControlList)
,
setObjectAcl(String, String, String, AccessControlList)
,
setObjectAcl(String, String, String,
CannedAccessControlList)
void setObjectAcl(java.lang.String bucketName, java.lang.String key, CannedAccessControlList acl) throws AmazonClientException, AmazonServiceException
Sets the CannedAccessControlList
for the specified object in
Amazon S3 using one of the pre-configured
CannedAccessControlLists
. A
CannedAccessControlList
provides a quick way to configure an
object or bucket with commonly used access control policies.
Each bucket and object in Amazon S3 has an ACL that defines its access control policy. When a request is made, Amazon S3 authenticates the request using its standard authentication procedure and then checks the ACL to verify the sender was granted access to the bucket or object. If the sender is approved, the request proceeds. Otherwise, Amazon S3 returns an error.
bucketName
- The name of the bucket containing the object whose ACL
is being set.key
- The key of the object within the specified bucket whose ACL is
being set.acl
- The new pre-configured CannedAccessControlList
for the specified object.AmazonClientException
- If any errors are encountered in the client
while making the request or handling the response.AmazonServiceException
- If any errors occurred in Amazon S3 while
processing the request.setObjectAcl(String, String, AccessControlList)
,
setObjectAcl(String, String, String, AccessControlList)
,
setObjectAcl(String, String, String,
CannedAccessControlList)
void setObjectAcl(java.lang.String bucketName, java.lang.String key, java.lang.String versionId, AccessControlList acl) throws AmazonClientException, AmazonServiceException
Sets the CannedAccessControlList
for the specified object with
the specified version in Amazon S3. Each version of an object has its own
associated ACL.
Each bucket and object in Amazon S3 has an ACL that defines its access control policy. When a request is made, Amazon S3 authenticates the request using its standard authentication procedure and then checks the ACL to verify the sender was granted access to the bucket or object. If the sender is approved, the request proceeds. Otherwise, Amazon S3 returns an error.
When constructing a custom AccessControlList
, callers
typically retrieve the existing AccessControlList
for an
object ( AmazonS3Client.getObjectAcl(String, String)
), modify it
as necessary, and then use this method to upload the new ACL.
For more information about enabling versioning for a bucket, see
setBucketVersioningConfiguration(SetBucketVersioningConfigurationRequest)
.
bucketName
- The name of the bucket containing the object whose ACL
is being set.key
- The key of the object within the specified bucket whose ACL is
being set.versionId
- The version ID of the object version whose ACL is being
set.acl
- The new AccessControlList
for the specified
object.AmazonClientException
- If any errors are encountered in the client
while making the request or handling the response.AmazonServiceException
- If any errors occurred in Amazon S3 while
processing the request.setObjectAcl(String, String, AccessControlList)
,
setObjectAcl(String, String, CannedAccessControlList)
,
setObjectAcl(String, String, String,
CannedAccessControlList)
void setObjectAcl(java.lang.String bucketName, java.lang.String key, java.lang.String versionId, CannedAccessControlList acl) throws AmazonClientException, AmazonServiceException
Sets the CannedAccessControlList
for the specified object with
the specified version ID in Amazon S3 using one of the pre-configured
CannedAccessControlLists
. A
CannedAccessControlList
provides a quick way to configure an
object or bucket with commonly used access control policies.
Each bucket and object in Amazon S3 has an ACL that defines its access control policy and each version of an object has its own associated ACL. When a request is made, Amazon S3 authenticates the request using its standard authentication procedure and then checks the ACL to verify the sender was granted access to the bucket or object. If the sender is approved, the request proceeds. Otherwise, Amazon S3 returns an error.
For more information about enabling versioning for a bucket, see
setBucketVersioningConfiguration(SetBucketVersioningConfigurationRequest)
.
bucketName
- The name of the bucket containing the object whose ACL
is being set.key
- The key of the object within the specified bucket whose ACL is
being set.versionId
- The version ID of the object version whose ACL is being
set.acl
- The new pre-configured CannedAccessControlList
for the specified object.AmazonClientException
- If any errors are encountered in the client
while making the request or handling the response.AmazonServiceException
- If any errors occurred in Amazon S3 while
processing the request.setObjectAcl(String, String, AccessControlList)
,
setObjectAcl(String, String, CannedAccessControlList)
,
setObjectAcl(String, String, String, AccessControlList)
void setObjectAcl(SetObjectAclRequest setObjectAclRequest) throws AmazonClientException, AmazonServiceException
AccessControlList
for the specified Amazon S3 object
with an optional version ID.
Each bucket and object in Amazon S3 has an ACL that defines its access control policy. When a request is made, Amazon S3 authenticates the request using its standard authentication procedure and then checks the ACL to verify the sender was granted access to the bucket or object. If the sender is approved, the request proceeds. Otherwise, Amazon S3 returns an error.
When constructing a custom AccessControlList
, callers
typically retrieve the existing AccessControlList
for a
bucket (AmazonS3Client.getObjectAcl(String, String)
), modify it
as necessary, and then use this method to upload the new ACL.
setObjectAclRequest
- The request object containing the S3 object to
modify and the ACL to set.AmazonClientException
- If any errors are encountered in the client
while making the request or handling the response.AmazonServiceException
- If any errors occurred in Amazon S3 while
processing the request.AccessControlList getBucketAcl(java.lang.String bucketName) throws AmazonClientException, AmazonServiceException
Gets the AccessControlList
(ACL) for the specified Amazon S3 bucket.
Each bucket and object in Amazon S3 has an ACL that defines its access control policy. When a request is made, Amazon S3 authenticates the request using its standard authentication procedure and then checks the ACL to verify the sender was granted access to the bucket or object. If the sender is approved, the request proceeds. Otherwise, Amazon S3 returns an error.
bucketName
- The name of the bucket whose ACL is being retrieved.AccessControlList
for the specified S3 bucket.AmazonClientException
- If any errors are encountered in the client
while making the request or handling the response.AmazonServiceException
- If any errors occurred in Amazon S3 while
processing the request.void setBucketAcl(SetBucketAclRequest setBucketAclRequest) throws AmazonClientException, AmazonServiceException
AccessControlList
for the specified Amazon S3 bucket.
Each bucket and object in Amazon S3 has an ACL that defines its access control policy. When a request is made, Amazon S3 authenticates the request using its standard authentication procedure and then checks the ACL to verify the sender was granted access to the bucket or object. If the sender is approved, the request proceeds. Otherwise, Amazon S3 returns an error.
When constructing a custom AccessControlList
, callers
typically retrieve the existing AccessControlList
for a
bucket ( AmazonS3Client.getBucketAcl(String)
), modify it as
necessary, and then use this method to upload the new ACL.
setBucketAclRequest
- The request object containing the bucket to
modify and the ACL to set.AmazonClientException
- If any errors are encountered in the client
while making the request or handling the response.AmazonServiceException
- If any errors occurred in Amazon S3 while
processing the request.AccessControlList getBucketAcl(GetBucketAclRequest getBucketAclRequest) throws AmazonClientException, AmazonServiceException
AccessControlList
(ACL) for the specified Amazon S3
bucket.
Each bucket and object in Amazon S3 has an ACL that defines its access control policy. When a request is made, Amazon S3 authenticates the request using its standard authentication procedure and then checks the ACL to verify the sender was granted access to the bucket or object. If the sender is approved, the request proceeds. Otherwise, Amazon S3 returns an error.
getBucketAclRequest
- The request containing the name of the bucket
whose ACL is being retrieved.AccessControlList
for the specified S3 bucket.AmazonClientException
- If any errors are encountered in the client
while making the request or handling the response.AmazonServiceException
- If any errors occurred in Amazon S3 while
processing the request.void setBucketAcl(java.lang.String bucketName, AccessControlList acl) throws AmazonClientException, AmazonServiceException
Sets the AccessControlList
for the specified Amazon S3 bucket.
Each bucket and object in Amazon S3 has an ACL that defines its access control policy. When a request is made, Amazon S3 authenticates the request using its standard authentication procedure and then checks the ACL to verify the sender was granted access to the bucket or object. If the sender is approved, the request proceeds. Otherwise, Amazon S3 returns an error.
When constructing a custom AccessControlList
, callers
typically retrieve the existing AccessControlList
for a
bucket ( AmazonS3Client.getBucketAcl(String)
), modify it as
necessary, and then use this method to upload the new ACL.
bucketName
- The name of the bucket whose ACL is being set.acl
- The new AccessControlList for the specified bucket.AmazonClientException
- If any errors are encountered in the client
while making the request or handling the response.AmazonServiceException
- If any errors occurred in Amazon S3 while
processing the request.setBucketAcl(String, CannedAccessControlList)
void setBucketAcl(java.lang.String bucketName, CannedAccessControlList acl) throws AmazonClientException, AmazonServiceException
Sets the CannedAccessControlList
for the specified Amazon S3
bucket using one of the pre-configured
CannedAccessControlLists
. A
CannedAccessControlList
provides a quick way to configure an
object or bucket with commonly used access control policies.
Each bucket and object in Amazon S3 has an ACL that defines its access control policy. When a request is made, Amazon S3 authenticates the request using its standard authentication procedure and then checks the ACL to verify the sender was granted access to the bucket or object. If the sender is approved, the request proceeds. Otherwise, Amazon S3 returns an error.
bucketName
- The name of the bucket whose ACL is being set.acl
- The pre-configured CannedAccessControlLists
to
set for the specified bucket.AmazonClientException
- If any errors are encountered in the client
while making the request or handling the response.AmazonServiceException
- If any errors occurred in Amazon S3 while
processing the request.setBucketAcl(String, AccessControlList)
ObjectMetadata getObjectMetadata(java.lang.String bucketName, java.lang.String key) throws AmazonClientException, AmazonServiceException
Gets the metadata for the specified Amazon S3 object without actually fetching the object itself. This is useful in obtaining only the object metadata, and avoids wasting bandwidth on fetching the object data.
The object metadata contains information such as content type, content disposition, etc., as well as custom user metadata that can be associated with an object in Amazon S3.
bucketName
- The name of the bucket containing the object's whose
metadata is being retrieved.key
- The key of the object whose metadata is being retrieved.AmazonClientException
- If any errors are encountered in the client
while making the request or handling the response.AmazonServiceException
- If any errors occurred in Amazon S3 while
processing the request.getObjectMetadata(GetObjectMetadataRequest)
ObjectMetadata getObjectMetadata(GetObjectMetadataRequest getObjectMetadataRequest) throws AmazonClientException, AmazonServiceException
Gets the metadata for the specified Amazon S3 object without actually fetching the object itself. This is useful in obtaining only the object metadata, and avoids wasting bandwidth on fetching the object data.
The object metadata contains information such as content type, content disposition, etc., as well as custom user metadata that can be associated with an object in Amazon S3.
For more information about enabling versioning for a bucket, see
setBucketVersioningConfiguration(SetBucketVersioningConfigurationRequest)
.
getObjectMetadataRequest
- The request object specifying the bucket,
key and optional version ID of the object whose metadata is
being retrieved.AmazonClientException
- If any errors are encountered on the client
while making the request or handling the response.AmazonServiceException
- If any errors occurred in Amazon S3 while
processing the request.getObjectMetadata(String, String)
S3Object getObject(java.lang.String bucketName, java.lang.String key) throws AmazonClientException, AmazonServiceException
Gets the object stored in Amazon S3 under the specified bucket and key.
Be extremely careful when using this method; the returned Amazon S3 object contains a direct stream of data from the HTTP connection. The underlying HTTP connection cannot be closed until the user finishes reading the data and closes the stream. Therefore:
To get an object from Amazon S3, the caller must have
Permission.Read
access to the object.
If the object fetched is publicly readable, it can also read it by pasting its URL into a browser.
For more advanced options (such as downloading only a range of an
object's content, or placing constraints on when the object should be
downloaded) callers can use getObject(GetObjectRequest)
.
If you are accessing AWS KMS-encrypted objects, you need to specify the correct region of the bucket on your client and configure AWS Signature Version 4 for added security. For more information on how to do this, see http://docs.aws.amazon.com/AmazonS3/latest/dev/UsingAWSSDK.html# specify-signature-version
bucketName
- The name of the bucket containing the desired object.key
- The key under which the desired object is stored.AmazonClientException
- If any errors are encountered in the client
while making the request or handling the response.AmazonServiceException
- If any errors occurred in Amazon S3 while
processing the request.getObject(GetObjectRequest)
,
getObject(GetObjectRequest, File)
S3Object getObject(GetObjectRequest getObjectRequest) throws AmazonClientException, AmazonServiceException
Gets the object stored in Amazon S3 under the specified bucket and key.
Returns null
if the specified constraints weren't met.
Callers should be very careful when using this method; the returned Amazon S3 object contains a direct stream of data from the HTTP connection. The underlying HTTP connection cannot be closed until the user finishes reading the data and closes the stream. Callers should therefore:
If callers do not follow those rules, then the client can run out of resources if allocating too many open, but unused, HTTP connections.
To get an object from Amazon S3, the caller must have
Permission.Read
access to the object.
If the object fetched is publicly readable, it can also read it by pasting its URL into a browser.
When specifying constraints in the request object, the client needs to be
prepared to handle this method returning null
if the
provided constraints aren't met when Amazon S3 receives the request.
If the advanced options provided in GetObjectRequest
aren't
needed, use the simpler
getObject(String bucketName, String key)
method.
getObject
in interface com.amazonaws.services.s3.internal.S3DirectSpi
getObjectRequest
- The request object containing all the options on
how to download the object.null
if constraints were specified but not
met.AmazonClientException
- If any errors are encountered in the client
while making the request or handling the response.AmazonServiceException
- If any errors occurred in Amazon S3 while
processing the request.getObject(String, String)
,
getObject(GetObjectRequest, File)
ObjectMetadata getObject(GetObjectRequest getObjectRequest, java.io.File destinationFile) throws AmazonClientException, AmazonServiceException
Gets the object metadata for the object stored in Amazon S3 under the
specified bucket and key, and saves the object contents to the specified
file. Returns null
if the specified constraints weren't met.
Instead of using getObject(GetObjectRequest)
, use this
method to ensure that the underlying HTTP stream resources are
automatically closed as soon as possible. The Amazon S3 clients handles
immediate storage of the object contents to the specified file.
To get an object from Amazon S3, the caller must have
Permission.Read
access to the object.
If the object fetched is publicly readable, it can also read it by pasting its URL into a browser.
When specifying constraints in the request object, the client needs to be
prepared to handle this method returning null
if the
provided constraints aren't met when Amazon S3 receives the request.
If you are accessing AWS KMS-encrypted objects, you need to specify the correct region of the bucket on your client and configure AWS Signature Version 4 for added security. For more information on how to do this, see http://docs.aws.amazon.com/AmazonS3/latest/dev/UsingAWSSDK.html# specify-signature-version
getObject
in interface com.amazonaws.services.s3.internal.S3DirectSpi
getObjectRequest
- The request object containing all the options on how to
download the Amazon S3 object content.destinationFile
- Indicates the file (which might already exist) where
to save the object content being downloading from Amazon S3.getObjectRequest
- The request object containing all the options on
how to download the Amazon S3 object content.destinationFile
- Indicates the file (which might already exist)
where to save the object content being downloading from Amazon
S3.null
if constraints were specified but not met.AmazonClientException
- If any errors are encountered in the client
while making the request, handling the response, or writing
the incoming data from S3 to the specified destination file.AmazonServiceException
- If any errors occurred in Amazon S3 while
processing the request.getObject(String, String)
,
getObject(GetObjectRequest)
java.lang.String getObjectAsString(java.lang.String bucketName, java.lang.String key) throws AmazonServiceException, AmazonClientException
Retrieves and decodes the contents of an S3 object to a String.
bucketName
- The name of the bucket containing the object to retrieve.key
- The key of the object to retrieve.AmazonServiceException
AmazonClientException
GetObjectTaggingResult getObjectTagging(GetObjectTaggingRequest getObjectTaggingRequest)
getObjectTaggingRequest
- The request object containing all the options on how to
retrieve the Amazon S3 object tags.SetObjectTaggingResult setObjectTagging(SetObjectTaggingRequest setObjectTaggingRequest)
setObjectTaggingRequest
- The request object containing all the options for setting the
tags for the specified object.DeleteObjectTaggingResult deleteObjectTagging(DeleteObjectTaggingRequest deleteObjectTaggingRequest)
deleteObjectTaggingRequest
- The request object containing all the options for deleting
the tags for the specified object.DeleteObjectTaggingResult
object containing the
information returned by S3 for the the tag deletion.void deleteBucket(DeleteBucketRequest deleteBucketRequest) throws AmazonClientException, AmazonServiceException
Deletes the specified bucket. All objects (and all object versions, if versioning was ever enabled) in the bucket must be deleted before the bucket itself can be deleted.
Only the owner of a bucket can delete it, regardless of the bucket's access control policy (ACL).
deleteBucketRequest
- The request object containing all options for
deleting an Amazon S3 bucket.AmazonClientException
- If any errors are encountered in the client
while making the request or handling the response.AmazonServiceException
- If any errors occurred in Amazon S3 while
processing the request.deleteBucket(String)
void deleteBucket(java.lang.String bucketName) throws AmazonClientException, AmazonServiceException
Deletes the specified bucket. All objects (and all object versions, if versioning was ever enabled) in the bucket must be deleted before the bucket itself can be deleted.
Only the owner of a bucket can delete it, regardless of the bucket's access control policy.
bucketName
- The name of the bucket to delete.AmazonClientException
- If any errors are encountered in the client
while making the request or handling the response.AmazonServiceException
- If any errors occurred in Amazon S3 while
processing the request.deleteBucket(String)
PutObjectResult putObject(PutObjectRequest putObjectRequest) throws AmazonClientException, AmazonServiceException
Uploads a new object to the specified Amazon S3 bucket. The
PutObjectRequest
contains all the details of the request,
including the bucket to upload to, the key the object will be uploaded
under, and the file or input stream containing the data to upload.
Amazon S3 never stores partial objects; if during this call an exception wasn't thrown, the entire object was stored.
If you are uploading or accessing AWS KMS-encrypted objects, you need to specify the correct region of the bucket on your client and configure AWS Signature Version 4 for added security. For more information on how to do this, see http://docs.aws.amazon.com/AmazonS3/latest/dev/UsingAWSSDK.html# specify-signature-version
Depending on whether a file or input stream is being uploaded, this method has slightly different behavior.
When uploading a file:
When uploading directly from an input stream:
If versioning is enabled for the specified bucket, this operation will
never overwrite an existing object with the same key, but will keep the
existing object as an older version until that version is explicitly
deleted (see deleteVersion(String, String, String)
.
If versioning is not enabled, this operation will overwrite an existing object with the same key; Amazon S3 will store the last write request. Amazon S3 does not provide object locking. If Amazon S3 receives multiple write requests for the same object nearly simultaneously, all of the objects might be stored. However, a single object will be stored with the final write request.
When specifying a location constraint when creating a bucket, all objects added to the bucket are stored in the bucket's region. For example, if specifying a Europe (EU) region constraint for a bucket, all of that bucket's objects are stored in the EU region.
The specified bucket must already exist and the caller must have
Permission.Write
permission to the bucket to upload an object.
putObject
in interface com.amazonaws.services.s3.internal.S3DirectSpi
putObjectRequest
- The request object containing all the parameters
to upload a new object to Amazon S3.PutObjectResult
object containing the information
returned by Amazon S3 for the newly created object.AmazonClientException
- If any errors are encountered in the client
while making the request or handling the response.AmazonServiceException
- If any errors occurred in Amazon S3 while
processing the request.putObject(String, String, File)
,
putObject(String, String, InputStream, ObjectMetadata)
PutObjectResult putObject(java.lang.String bucketName, java.lang.String key, java.io.File file) throws AmazonClientException, AmazonServiceException
Uploads the specified file to Amazon S3 under the specified bucket and key name.
Amazon S3 never stores partial objects; if during this call an exception wasn't thrown, the entire object was stored.
If you are uploading or accessing AWS KMS-encrypted objects, you need to specify the correct region of the bucket on your client and configure AWS Signature Version 4 for added security. For more information on how to do this, see http://docs.aws.amazon.com/AmazonS3/latest/dev/UsingAWSSDK.html# specify-signature-version
Using the file extension, Amazon S3 attempts to determine the correct content type and content disposition to use for the object.
If versioning is enabled for the specified bucket, this operation will
this operation will never overwrite an existing object with the same key,
but will keep the existing object as an older version until that version
is explicitly deleted (see
deleteVersion(String, String, String)
.
If versioning is not enabled, this operation will overwrite an existing object with the same key; Amazon S3 will store the last write request. Amazon S3 does not provide object locking. If Amazon S3 receives multiple write requests for the same object nearly simultaneously, all of the objects might be stored. However, a single object will be stored with the final write request.
When specifying a location constraint when creating a bucket, all objects added to the bucket are stored in the bucket's region. For example, if specifying a Europe (EU) region constraint for a bucket, all of that bucket's objects are stored in EU region.
The specified bucket must already exist and the caller must have
Permission.Write
permission to the bucket to upload an object.
bucketName
- The name of an existing bucket, to which you have
Permission.Write
permission.key
- The key under which to store the specified file.file
- The file containing the data to be uploaded to Amazon S3.PutObjectResult
object containing the information
returned by Amazon S3 for the newly created object.AmazonClientException
- If any errors are encountered in the client
while making the request or handling the response.AmazonServiceException
- If any errors occurred in Amazon S3 while
processing the request.putObject(PutObjectRequest)
,
putObject(String, String, InputStream, ObjectMetadata)
PutObjectResult putObject(java.lang.String bucketName, java.lang.String key, java.io.InputStream input, ObjectMetadata metadata) throws AmazonClientException, AmazonServiceException
Uploads the specified input stream and object metadata to Amazon S3 under the specified bucket and key name.
Amazon S3 never stores partial objects; if during this call an exception wasn't thrown, the entire object was stored.
If you are uploading or accessing AWS KMS-encrypted objects, you need to specify the correct region of the bucket on your client and configure AWS Signature Version 4 for added security. For more information on how to do this, see http://docs.aws.amazon.com/AmazonS3/latest/dev/UsingAWSSDK.html# specify-signature-version
Using the file extension, Amazon S3 attempts to determine the correct content type and content disposition to use for the object.
Content length must be specified before data can be uploaded to Amazon S3. If the caller doesn't provide it, the library will have to buffer the contents of the input stream in order to calculate it because Amazon S3 explicitly requires that the content length be sent in the request headers before any of the data is sent.
If versioning is enabled for the specified bucket, this operation will
never overwrite an existing object at the same key, but instead will keep
the existing object around as an older version until that version is
explicitly deleted (see
deleteVersion(String, String, String)
.
If versioning is not enabled, this operation will overwrite an existing object with the same key; Amazon S3 will store the last write request. Amazon S3 does not provide object locking. If Amazon S3 receives multiple write requests for the same object nearly simultaneously, all of the objects might be stored. However, a single object will be stored with the final write request.
When specifying a location constraint when creating a bucket, all objects added to the bucket are stored in the bucket's region. For example, if specifying a Europe (EU) region constraint for a bucket, all of that bucket's objects are stored in EU region.
The specified bucket must already exist and the caller must have
Permission.Write
permission to the bucket to upload an object.
bucketName
- The name of an existing bucket, to which you have
Permission.Write
permission.key
- The key under which to store the specified file.input
- The input stream containing the data to be uploaded to
Amazon S3.metadata
- Additional metadata instructing Amazon S3 how to handle
the uploaded data (e.g. custom user metadata, hooks for
specifying content type, etc.).PutObjectResult
object containing the information
returned by Amazon S3 for the newly created object.AmazonClientException
- If any errors are encountered in the client
while making the request or handling the response.AmazonServiceException
- If any errors occurred in Amazon S3 while
processing the request.putObject(String, String, File)
,
putObject(PutObjectRequest)
PutObjectResult putObject(java.lang.String bucketName, java.lang.String key, java.lang.String content) throws AmazonServiceException, AmazonClientException
Encodes a String into the contents of an S3 object.
String will be encoded to bytes with UTF-8 encoding.
bucketName
- The name of the bucket to place the new object in.key
- The key of the object to create.content
- The String to encodeAmazonServiceException
AmazonClientException
CopyObjectResult copyObject(java.lang.String sourceBucketName, java.lang.String sourceKey, java.lang.String destinationBucketName, java.lang.String destinationKey) throws AmazonClientException, AmazonServiceException
Copies a source object to a new destination in Amazon S3.
By default, all object metadata for the source object except
server-side-encryption, storage-class and
website-redirect-location are copied to the new destination
object, unless new object metadata in the specified
CopyObjectRequest
is provided.
The Amazon S3 Acccess Control List (ACL) is not copied to the new
object. The new object will have the default Amazon S3 ACL,
CannedAccessControlList.Private
, unless one is explicitly
provided in the specified CopyObjectRequest
.
To copy an object, the caller's account must have read access to the source object and write access to the destination bucket
This method only exposes the basic options for copying an Amazon S3
object. Additional options are available by calling the
AmazonS3Client.copyObject(CopyObjectRequest)
method, including
conditional constraints for copying objects, setting ACLs, overwriting
object metadata, etc.
If you are copying AWS KMS-encrypted objects, you need to specify the correct region of the bucket on your client and configure AWS Signature Version 4 for added security. For more information on how to do this, see http://docs.aws.amazon.com/AmazonS3/latest/dev/UsingAWSSDK.html# specify-signature-version
sourceBucketName
- The name of the bucket containing the source
object to copy.sourceKey
- The key in the source bucket under which the source
object is stored.destinationBucketName
- The name of the bucket in which the new
object will be created. This can be the same name as the
source bucket's.destinationKey
- The key in the destination bucket under which the
new object will be created.CopyObjectResult
object containing the information
returned by Amazon S3 for the newly created object.AmazonClientException
- If any errors are encountered in the client
while making the request or handling the response.AmazonServiceException
- If any errors occurred in Amazon S3 while
processing the request.AmazonS3Client.copyObject(CopyObjectRequest)
CopyObjectResult copyObject(CopyObjectRequest copyObjectRequest) throws AmazonClientException, AmazonServiceException
Copies a source object to a new destination in Amazon S3.
By default, all object metadata for the source object except
server-side-encryption, storage-class and
website-redirect-location are copied to the new destination
object, unless new object metadata in the specified
CopyObjectRequest
is provided.
The Amazon S3 Acccess Control List (ACL) is not copied to the new
object. The new object will have the default Amazon S3 ACL,
CannedAccessControlList.Private
, unless one is explicitly
provided in the specified CopyObjectRequest
.
To copy an object, the caller's account must have read access to the source object and write access to the destination bucket.
If constraints are specified in the CopyObjectRequest
(e.g.
CopyObjectRequest.setMatchingETagConstraints(List)
) and are not
satisfied when Amazon S3 receives the request, this method returns
null
. This method returns a non-null result under all other
circumstances.
This method exposes all the advanced options for copying an Amazon S3
object. For simple needs, use the
AmazonS3Client.copyObject(String, String, String, String)
method.
If you are copying AWS KMS-encrypted objects, you need to specify the correct region of the bucket on your client and configure AWS Signature Version 4 for added security. For more information on how to do this, see http://docs.aws.amazon.com/AmazonS3/latest/dev/UsingAWSSDK.html# specify-signature-version
copyObjectRequest
- The request object containing all the options
for copying an Amazon S3 object.CopyObjectResult
object containing the information
returned by Amazon S3 about the newly created object, or
null
if constraints were specified that weren't met
when Amazon S3 attempted to copy the object.AmazonClientException
- If any errors are encountered in the client
while making the request or handling the response.AmazonServiceException
- If any errors occurred in Amazon S3 while
processing the request.AmazonS3Client.copyObject(String, String, String, String)
CopyPartResult copyPart(CopyPartRequest copyPartRequest) throws AmazonClientException, AmazonServiceException
If constraints are specified in the CopyPartRequest
(e.g.
CopyPartRequest.setMatchingETagConstraints(List)
) and are not
satisfied when Amazon S3 receives the request, this method returns
null
. This method returns a non-null result under all other
circumstances.
If you are copying AWS KMS-encrypted objects, you need to specify the correct region of the bucket on your client and configure AWS Signature Version 4 for added security. For more information on how to do this, see http://docs.aws.amazon.com/AmazonS3/latest/dev/UsingAWSSDK.html# specify-signature-version
copyPart
in interface com.amazonaws.services.s3.internal.S3DirectSpi
copyPartRequest
- The request object containing all the options for
copying an Amazon S3 object.CopyPartResult
object containing the information
returned by Amazon S3 about the newly created object, or
null
if constraints were specified that weren't met
when Amazon S3 attempted to copy the object.AmazonClientException
- If any errors are encountered in the client
while making the request or handling the response.AmazonServiceException
- If any errors occurred in Amazon S3 while
processing the request.AmazonS3Client.copyObject(CopyObjectRequest)
,
AmazonS3Client.initiateMultipartUpload(InitiateMultipartUploadRequest)
void deleteObject(java.lang.String bucketName, java.lang.String key) throws AmazonClientException, AmazonServiceException
Deletes the specified object in the specified bucket. Once deleted, the object can only be restored if versioning was enabled when the object was deleted.
If attempting to delete an object that does not exist, Amazon S3 returns a success message instead of an error message.
bucketName
- The name of the Amazon S3 bucket containing the object
to delete.key
- The key of the object to delete.AmazonClientException
- If any errors are encountered in the client
while making the request or handling the response.AmazonServiceException
- If any errors occurred in Amazon S3 while
processing the request.AmazonS3Client.deleteObject(DeleteObjectRequest)
void deleteObject(DeleteObjectRequest deleteObjectRequest) throws AmazonClientException, AmazonServiceException
Deletes the specified object in the specified bucket. Once deleted, the object can only be restored if versioning was enabled when the object was deleted.
If attempting to delete an object that does not exist, Amazon S3 will return a success message instead of an error message.
deleteObjectRequest
- The request object containing all options for
deleting an Amazon S3 object.AmazonClientException
- If any errors are encountered in the client
while making the request or handling the response.AmazonServiceException
- If any errors occurred in Amazon S3 while
processing the request.AmazonS3Client.deleteObject(String, String)
DeleteObjectsResult deleteObjects(DeleteObjectsRequest deleteObjectsRequest) throws AmazonClientException, AmazonServiceException
In some cases, some objects will be successfully deleted, while some
attempts will cause an error. If any object in the request cannot be
deleted, this method throws a MultiObjectDeleteException
with
details of the error.
deleteObjectsRequest
- The request object containing all options for
deleting multiple objects.MultiObjectDeleteException
- if one or more of the objects couldn't
be deleted.AmazonClientException
- If any errors are encountered in the client
while making the request or handling the response.AmazonServiceException
- If any errors occurred in Amazon S3 while
processing the request.void deleteVersion(java.lang.String bucketName, java.lang.String key, java.lang.String versionId) throws AmazonClientException, AmazonServiceException
Deletes a specific version of the specified object in the specified bucket. Once deleted, there is no method to restore or undelete an object version. This is the only way to permanently delete object versions that are protected by versioning.
Deleting an object version is permanent and irreversible. It is a privileged operation that only the owner of the bucket containing the version can perform.
Users can only delete a version of an object if versioning is enabled for
the bucket. For more information about enabling versioning for a bucket,
see
setBucketVersioningConfiguration(SetBucketVersioningConfigurationRequest)
.
If attempting to delete an object that does not exist, Amazon S3 will return a success message instead of an error message.
bucketName
- The name of the Amazon S3 bucket containing the object
to delete.key
- The key of the object to delete.versionId
- The version of the object to delete.AmazonClientException
- If any errors are encountered in the client
while making the request or handling the response.AmazonServiceException
- If any errors occurred in Amazon S3 while
processing the request.void deleteVersion(DeleteVersionRequest deleteVersionRequest) throws AmazonClientException, AmazonServiceException
Deletes a specific version of an object in the specified bucket. Once deleted, there is no method to restore or undelete an object version. This is the only way to permanently delete object versions that are protected by versioning.
Deleting an object version is permanent and irreversible. It is a privileged operation that only the owner of the bucket containing the version can perform.
Users can only delete a version of an object if versioning is enabled for
the bucket. For more information about enabling versioning for a bucket,
see
setBucketVersioningConfiguration(SetBucketVersioningConfigurationRequest)
.
If attempting to delete an object that does not exist, Amazon S3 will return a success message instead of an error message.
deleteVersionRequest
- The request object containing all options for
deleting a specific version of an Amazon S3 object.AmazonClientException
- If any errors are encountered in the client
while making the request or handling the response.AmazonServiceException
- If any errors occurred in Amazon S3 while
processing the request.BucketLoggingConfiguration getBucketLoggingConfiguration(java.lang.String bucketName) throws AmazonClientException, AmazonServiceException
Gets the logging configuration for the specified bucket. The bucket logging configuration object indicates if server access logging is enabled for the specified bucket, the destination bucket where server access logs are delivered, and the optional log file prefix.
bucketName
- The name of the bucket whose bucket logging
configuration is being retrieved.AmazonClientException
- If any errors are encountered in the client
while making the request or handling the response.AmazonServiceException
- If any errors occurred in Amazon S3 while
processing the request.setBucketLoggingConfiguration(SetBucketLoggingConfigurationRequest)
,
getBucketLoggingConfiguration(GetBucketLoggingConfigurationRequest)
BucketLoggingConfiguration getBucketLoggingConfiguration(GetBucketLoggingConfigurationRequest getBucketLoggingConfigurationRequest) throws AmazonClientException, AmazonServiceException
Gets the logging configuration for the specified bucket. The bucket logging configuration object indicates if server access logging is enabled the specified bucket, the destination bucket where server access logs are delivered, and the optional log file prefix.
bucketName
- The name of the bucket whose bucket logging
configuration is being retrieved.AmazonClientException
- If any errors are encountered in the client
while making the request or handling the response.AmazonServiceException
- If any errors occurred in Amazon S3 while
processing the request.setBucketLoggingConfiguration(SetBucketLoggingConfigurationRequest)
,
getBucketLoggingConfiguration(String)
void setBucketLoggingConfiguration(SetBucketLoggingConfigurationRequest setBucketLoggingConfigurationRequest) throws AmazonClientException, AmazonServiceException
Sets the logging configuration for the specified bucket. The bucket logging configuration object indicates whether server access logging is enabled or not for the specified bucket, the destination bucket where server access logs are delivered, and the optional log file prefix.
In order to deliver server access logs, the destination bucket must have
log delivery write permissions. You can use the
CannedAccessControlList.LogDeliveryWrite
ACL to quickly add the
correct permissions to your destination bucket, or you can modify the
bucket's existing ACL to grant the GroupGrantee.LogDelivery
group
grantee the Permission.Write
permission.
Changes to the logging status for a bucket are visible in the configuration API immediately, but they take time to actually affect the delivery of log files. For example, if logging is enabled for a bucket, some requests made in the following hour might be logged, while others might not. Or, if you change the target bucket for logging from bucket A to bucket B, some logs for the next hour might continue to be delivered to bucket A, while others might be delivered to the new target bucket B. In all cases, the new settings will eventually take effect without any further action on your part.
setBucketLoggingConfigurationRequest
- The request object containing
all options for setting the bucket logging configuration.AmazonClientException
- If any errors are encountered in the client
while making the request or handling the response.AmazonServiceException
- If any errors occurred in Amazon S3 while
processing the request.getBucketLoggingConfiguration(String)
BucketVersioningConfiguration getBucketVersioningConfiguration(java.lang.String bucketName) throws AmazonClientException, AmazonServiceException
Returns the versioning configuration for the specified bucket.
A bucket's versioning configuration can be in one of three possible states:
BucketVersioningConfiguration.OFF
BucketVersioningConfiguration.ENABLED
BucketVersioningConfiguration.SUSPENDED
By default, new buckets are in the
off
state. Once versioning is
enabled for a bucket the status can never be reverted to
off
.
The versioning configuration of a bucket has different implications for
each operation performed on that bucket or for objects within that
bucket. For example, when versioning is enabled a PutObject
operation creates a unique object version-id for the object being
uploaded. The The PutObject
API guarantees that, if
versioning is enabled for a bucket at the time of the request, the new
object can only be permanently deleted using a DeleteVersion
operation. It can never be overwritten. Additionally, the
PutObject
API guarantees that, if versioning is enabled for
a bucket the request, no other object will be overwritten by that
request. Refer to the
documentation sections for each API for information on how versioning
status affects the semantics of that particular API.
Amazon S3 is eventually consistent. It can take time for the versioning status of a bucket to be propagated throughout the system.
bucketName
- The bucket whose versioning configuration will be
retrieved.AmazonClientException
- If any errors are encountered in the client
while making the request or handling the response.AmazonServiceException
- If any errors occurred in Amazon S3 while
processing the request.setBucketVersioningConfiguration(SetBucketVersioningConfigurationRequest)
,
getBucketVersioningConfiguration(GetBucketVersioningConfigurationRequest)
BucketVersioningConfiguration getBucketVersioningConfiguration(GetBucketVersioningConfigurationRequest getBucketVersioningConfigurationRequest) throws AmazonClientException, AmazonServiceException
Returns the versioning configuration for the specified bucket.
A bucket's versioning configuration can be in one of three possible states:
BucketVersioningConfiguration.OFF
BucketVersioningConfiguration.ENABLED
BucketVersioningConfiguration.SUSPENDED
By default, new buckets are in the
off
state. Once versioning is
enabled for a bucket the status can never be reverted to
off
.
The versioning configuration of a bucket has different implications for
each operation performed on that bucket or for objects within that
bucket. For example, when versioning is enabled a PutObject
operation creates a unique object version-id for the object being
uploaded. The The PutObject
API guarantees that, if
versioning is enabled for a bucket at the time of the request, the new
object can only be permanently deleted using a DeleteVersion
operation. It can never be overwritten. Additionally, the
PutObject
API guarantees that, if versioning is enabled for
a bucket the request, no other object will be overwritten by that
request. Refer to the
documentation sections for each API for information on how versioning
status affects the semantics of that particular API.
Amazon S3 is eventually consistent. It can take time for the versioning status of a bucket to be propagated throughout the system.
getBucketVersioningConfigurationRequest
- The request object for
retrieving the bucket versioning configuration.AmazonClientException
- If any errors are encountered in the client
while making the request or handling the response.AmazonServiceException
- If any errors occurred in Amazon S3 while
processing the request.setBucketVersioningConfiguration(SetBucketVersioningConfigurationRequest)
,
getBucketVersioningConfiguration(String)
void setBucketVersioningConfiguration(SetBucketVersioningConfigurationRequest setBucketVersioningConfigurationRequest) throws AmazonClientException, AmazonServiceException
Sets the versioning configuration for the specified bucket.
A bucket's versioning configuration can be in one of three possible states:
BucketVersioningConfiguration.OFF
BucketVersioningConfiguration.ENABLED
BucketVersioningConfiguration.SUSPENDED
By default, new buckets are in the
off
state. Once versioning is
enabled for a bucket the status can never be reverted to
off
.
Objects created before versioning was enabled or when versioning is
suspended will be given the default null
version ID (see
Constants.NULL_VERSION_ID
). Note that the null
version ID is a valid version ID and is not the same as not having a
version ID.
The versioning configuration of a bucket has different implications for
each operation performed on that bucket or for objects within that
bucket. For example, when versioning is enabled a PutObject
operation creates a unique object version-id for the object being
uploaded. The The PutObject
API guarantees that, if
versioning is enabled for a bucket at the time of the request, the new
object can only be permanently deleted using a DeleteVersion
operation. It can never be overwritten. Additionally, the
PutObject
API guarantees that, if versioning is enabled for
a bucket the request, no other object will be overwritten by that
request. Refer to the documentation sections for each API for information
on how versioning status affects the semantics of that particular API.
Amazon S3 is eventually consistent. It can take time for the versioning status of a bucket to be propagated throughout the system.
setBucketVersioningConfigurationRequest
- The request object
containing all options for setting the bucket versioning
configuration.AmazonClientException
- If any errors are encountered in the client
while making the request or handling the response.AmazonServiceException
- If any errors occurred in Amazon S3 while
processing the request.getBucketVersioningConfiguration(String)
BucketLifecycleConfiguration getBucketLifecycleConfiguration(java.lang.String bucketName)
bucketName
- The name of the bucket for which to retrieve lifecycle
configuration.getBucketLifecycleConfiguration(GetBucketLifecycleConfigurationRequest)
BucketLifecycleConfiguration getBucketLifecycleConfiguration(GetBucketLifecycleConfigurationRequest getBucketLifecycleConfigurationRequest)
getBucketLifecycleConfigurationRequest
- The request object for retrieving the bucket lifecycle
configuration.getBucketLifecycleConfiguration(String)
void setBucketLifecycleConfiguration(java.lang.String bucketName, BucketLifecycleConfiguration bucketLifecycleConfiguration)
bucketName
- The name of the bucket for which to set the lifecycle
configuration.bucketLifecycleConfiguration
- The new lifecycle configuration for this bucket, which
completely replaces any existing configuration.void setBucketLifecycleConfiguration(SetBucketLifecycleConfigurationRequest setBucketLifecycleConfigurationRequest)
setBucketLifecycleConfigurationRequest
- The request object containing all options for setting the
bucket lifecycle configuration.void deleteBucketLifecycleConfiguration(java.lang.String bucketName)
bucketName
- The name of the bucket for which to remove the lifecycle
configuration.void deleteBucketLifecycleConfiguration(DeleteBucketLifecycleConfigurationRequest deleteBucketLifecycleConfigurationRequest)
deleteBucketLifecycleConfigurationRequest
- The request object containing all options for removing the
bucket lifecycle configuration.BucketCrossOriginConfiguration getBucketCrossOriginConfiguration(java.lang.String bucketName)
bucketName
- The name of the bucket for which to retrieve cross origin
configuration.getBucketCrossOriginConfiguration(GetBucketCrossOriginConfigurationRequest)
BucketCrossOriginConfiguration getBucketCrossOriginConfiguration(GetBucketCrossOriginConfigurationRequest getBucketCrossOriginConfigurationRequest)
getBucketCrossOriginConfigurationRequest
- The request object for retrieving the bucket cross origin
configuration.getBucketCrossOriginConfiguration(String)
void setBucketCrossOriginConfiguration(java.lang.String bucketName, BucketCrossOriginConfiguration bucketCrossOriginConfiguration)
bucketName
- The name of the bucket for which to retrieve cross origin
configuration.bucketCrossOriginConfiguration
- The new cross origin configuration for this bucket, which
completely replaces any existing configuration.void setBucketCrossOriginConfiguration(SetBucketCrossOriginConfigurationRequest setBucketCrossOriginConfigurationRequest)
setBucketCrossOriginConfigurationRequest
- The request object containing all options for setting the
bucket cross origin configuration.void deleteBucketCrossOriginConfiguration(java.lang.String bucketName)
bucketName
- The name of the bucket for which to retrieve cross
origin configuration.void deleteBucketCrossOriginConfiguration(DeleteBucketCrossOriginConfigurationRequest deleteBucketCrossOriginConfigurationRequest)
deleteBucketCrossOriginConfigurationRequest
- The request object
containing all options for deleting the bucket cross origin
configuration.BucketTaggingConfiguration getBucketTaggingConfiguration(java.lang.String bucketName)
bucketName
- The name of the bucket for which to retrieve tagging
configuration.getBucketTaggingConfiguration(GetBucketTaggingConfigurationRequest)
BucketTaggingConfiguration getBucketTaggingConfiguration(GetBucketTaggingConfigurationRequest getBucketTaggingConfigurationRequest)
getBucketTaggingConfigurationRequest
- The request object for retrieving the bucket tagging
configuration.getBucketTaggingConfiguration(String)
void setBucketTaggingConfiguration(java.lang.String bucketName, BucketTaggingConfiguration bucketTaggingConfiguration)
bucketName
- The name of the bucket for which to set the tagging
configuration.bucketTaggingConfiguration
- The new tagging configuration for this
bucket, which completely replaces any existing configuration.void setBucketTaggingConfiguration(SetBucketTaggingConfigurationRequest setBucketTaggingConfigurationRequest)
setBucketTaggingConfigurationRequest
- The request object containing
all options for setting the bucket tagging configuration.void deleteBucketTaggingConfiguration(java.lang.String bucketName)
bucketName
- The name of the bucket for which to remove the tagging
configuration.void deleteBucketTaggingConfiguration(DeleteBucketTaggingConfigurationRequest deleteBucketTaggingConfigurationRequest)
deleteBucketTaggingConfigurationRequests
- The request object
containing all options for removing the bucket tagging
configuration.BucketNotificationConfiguration getBucketNotificationConfiguration(java.lang.String bucketName) throws AmazonClientException, AmazonServiceException
By default, new buckets have no notification configuration.
The notification configuration of a bucket provides near realtime notifications of events the user is interested in, using SNS as the delivery service. Notification is turned on by enabling configuration on a bucket, specifying the events and the SNS topic. This configuration can only be turned on by the bucket owner. If a notification configuration already exists for the specified bucket, the new notification configuration will replace the existing notification configuration. To remove the notification configuration pass in an empty request. Currently, buckets may only have a single event and topic configuration.
S3 is eventually consistent. It may take time for the notification status of a bucket to be propagated throughout the system.
bucketName
- The bucket whose notification configuration will be
retrieved.AmazonClientException
- If any errors are encountered on the client
while making the request or handling the response.AmazonServiceException
- If any errors occurred in Amazon S3 while
processing the request.getBucketNotificationConfiguration(GetBucketNotificationConfigurationRequest)
BucketNotificationConfiguration getBucketNotificationConfiguration(GetBucketNotificationConfigurationRequest getBucketNotificationConfigurationRequest) throws AmazonClientException, AmazonServiceException
By default, new buckets have no notification configuration.
The notification configuration of a bucket provides near realtime notifications of events the user is interested in, using SNS as the delivery service. Notification is turned on by enabling configuration on a bucket, specifying the events and the SNS topic. This configuration can only be turned on by the bucket owner. If a notification configuration already exists for the specified bucket, the new notification configuration will replace the existing notification configuration. To remove the notification configuration pass in an empty request. Currently, buckets may only have a single event and topic configuration.
S3 is eventually consistent. It may take time for the notification status of a bucket to be propagated throughout the system.
getBucketNotificationConfigurationRequest
- The bucket notification configuration request.AmazonClientException
- If any errors are encountered on the client
while making the request or handling the response.AmazonServiceException
- If any errors occurred in Amazon S3 while
processing the request.void setBucketNotificationConfiguration(SetBucketNotificationConfigurationRequest setBucketNotificationConfigurationRequest) throws AmazonClientException, AmazonServiceException
By default, new buckets have no notification configuration set.
The notification configuration of a bucket provides near realtime notifications of events the user is interested in, using SNS as the delivery service. Notification is turned on by enabling configuration on a bucket, specifying the events and the SNS topic. This configuration can only be turned on by the bucket owner. If a notification configuration already exists for the specified bucket, the new notification configuration will replace the existing notification configuration. To remove the notification configuration pass in an empty request. Currently, buckets may only have a single event and topic configuration.
S3 is eventually consistent. It may take time for the notification status of a bucket to be propagated throughout the system.
setBucketNotificationConfigurationRequest
- The request object
containing all options for setting the bucket notification
configuration.AmazonClientException
- If any errors are encountered on the client
while making the request or handling the response.AmazonServiceException
- If any errors occurred in Amazon S3 while
processing the request.void setBucketNotificationConfiguration(java.lang.String bucketName, BucketNotificationConfiguration bucketNotificationConfiguration) throws AmazonClientException, AmazonServiceException
By default, new buckets have no notification configuration set.
The notification configuration of a bucket provides near realtime notifications of events the user is interested in, using SNS as the delivery service. Notification is turned on by enabling configuration on a bucket, specifying the events and the SNS topic. This configuration can only be turned on by the bucket owner. If a notification configuration already exists for the specified bucket, the new notification configuration will replace the existing notification configuration. To remove the notification configuration pass in an empty request. Currently, buckets may only have a single event and topic configuration.
S3 is eventually consistent. It may take time for the notification status of a bucket to be propagated throughout the system.
bucketName
- The name of the Amazon S3 bucket whose notification
configuration is being set.bucketNotificationConfiguration
- The request object containing all
options for setting the bucket notification configuration.AmazonClientException
- If any errors are encountered on the client
while making the request or handling the response.AmazonServiceException
- If any errors occurred in Amazon S3 while
processing the request.BucketWebsiteConfiguration getBucketWebsiteConfiguration(java.lang.String bucketName) throws AmazonClientException, AmazonServiceException
For more information on how to host a website on Amazon S3, see: http://docs.amazonwebservices.com/AmazonS3/latest/dev/WebsiteHosting. html.
This operation requires the S3:GetBucketWebsite
permission.
By default, only the bucket owner can read the bucket website
configuration. However, bucket owners can allow other users to read the
website configuration by writing a bucket policy granting them the
S3:GetBucketWebsite
permission.
bucketName
- The name of the bucket whose website configuration is
being retrieved.AmazonClientException
- If any errors are encountered on the client
while making the request or handling the response.AmazonServiceException
- If any errors occurred in Amazon S3 while
processing the request.BucketWebsiteConfiguration getBucketWebsiteConfiguration(GetBucketWebsiteConfigurationRequest getBucketWebsiteConfigurationRequest) throws AmazonClientException, AmazonServiceException
For more information on how to host a website on Amazon S3, see: http://docs.amazonwebservices.com/AmazonS3/latest/dev/WebsiteHosting. html.
This operation requires the S3:GetBucketWebsite
permission.
By default, only the bucket owner can read the bucket website
configuration. However, bucket owners can allow other users to read the
website configuration by writing a bucket policy granting them the
S3:GetBucketWebsite
permission.
getBucketWebsiteConfigurationRequest
- The request object containing
all the information on the specific bucket whose website
configuration is to be retrieved.AmazonClientException
- If any errors are encountered on the client
while making the request or handling the response.AmazonServiceException
- If any errors occurred in Amazon S3 while
processing the request.void setBucketWebsiteConfiguration(java.lang.String bucketName, BucketWebsiteConfiguration configuration) throws AmazonClientException, AmazonServiceException
For more information on how to host a website on Amazon S3, see: http://docs.amazonwebservices.com/AmazonS3/latest/dev/WebsiteHosting. html.
This operation requires the S3:PutBucketWebsite
permission.
By default, only the bucket owner can configure the website attached to a
bucket. However, bucket owners can allow other users to set the website
configuration by writing a bucket policy granting them the
S3:PutBucketWebsite
permission.
bucketName
- The name of the bucket whose website configuration is
being set.configuration
- The configuration describing how the specified
bucket will serve web requests (i.e. default index page, error
page).AmazonClientException
- If any errors are encountered on the client
while making the request or handling the response.AmazonServiceException
- If any errors occurred in Amazon S3 while
processing the request.void setBucketWebsiteConfiguration(SetBucketWebsiteConfigurationRequest setBucketWebsiteConfigurationRequest) throws AmazonClientException, AmazonServiceException
For more information on how to host a website on Amazon S3, see: http://docs.amazonwebservices.com/AmazonS3/latest/dev/WebsiteHosting. html.
This operation requires the S3:PutBucketWebsite
permission.
By default, only the bucket owner can configure the website attached to a
bucket. However, bucket owners can allow other users to set the website
configuration by writing a bucket policy granting them the
S3:PutBucketWebsite
permission.
setBucketWebsiteConfigurationRequest
- The request object containing
the name of the bucket whose website configuration is being
updated, and the new website configuration values.AmazonClientException
- If any errors are encountered on the client
while making the request or handling the response.AmazonServiceException
- If any errors occurred in Amazon S3 while
processing the request.void deleteBucketWebsiteConfiguration(java.lang.String bucketName) throws AmazonClientException, AmazonServiceException
For more information on how to host a website on Amazon S3, see: http://docs.amazonwebservices.com/AmazonS3/latest/dev/WebsiteHosting. html.
This operation requires the S3:DeleteBucketWebsite
permission. By default, only the bucket owner can delete the website
configuration attached to a bucket. However, bucket owners can grant
other users permission to delete the website configuration by writing a
bucket policy granting them the S3:DeleteBucketWebsite
permission.
bucketName
- The name of the bucket whose website configuration is
being deleted.AmazonClientException
- If any errors are encountered on the client
while making the request or handling the response.AmazonServiceException
- If any errors occurred in Amazon S3 while
processing the request.void deleteBucketWebsiteConfiguration(DeleteBucketWebsiteConfigurationRequest deleteBucketWebsiteConfigurationRequest) throws AmazonClientException, AmazonServiceException
For more information on how to host a website on Amazon S3, see: http://docs.amazonwebservices.com/AmazonS3/latest/dev/WebsiteHosting. html.
This operation requires the S3:DeleteBucketWebsite
permission. By default, only the bucket owner can delete the website
configuration attached to a bucket. However, bucket owners can grant
other users permission to delete the website configuration by writing a
bucket policy granting them the S3:DeleteBucketWebsite
permission.
deleteBucketWebsiteConfigurationRequest
- The request object
specifying the name of the bucket whose website configuration
is to be deleted.AmazonClientException
- If any errors are encountered on the client
while making the request or handling the response.AmazonServiceException
- If any errors occurred in Amazon S3 while
processing the request.BucketPolicy getBucketPolicy(java.lang.String bucketName) throws AmazonClientException, AmazonServiceException
Gets the policy for the specified bucket. Only the owner of the bucket
can retrieve the policy. If no policy has been set for the bucket, then
an empty result object with a null
policy text field will be
returned.
Bucket policies provide access control management at the bucket level for both the bucket resource and contained object resources. Only one policy can be specified per-bucket.
See the Amazon S3 developer guide for more information on forming bucket polices.
bucketName
- The name of the Amazon S3 bucket whose policy is being
retrieved.AmazonClientException
- If any errors are encountered in the client
while making the request or handling the response.AmazonServiceException
- If any errors occurred in Amazon S3 while
processing the request.setBucketPolicy(String, String)
BucketPolicy getBucketPolicy(GetBucketPolicyRequest getBucketPolicyRequest) throws AmazonClientException, AmazonServiceException
Gets the policy for the specified bucket. Only the owner of the bucket
can retrieve the policy. If no policy has been set for the bucket, then
an empty result object with a null
policy text field will be
returned.
Bucket policies provide access control management at the bucket level for both the bucket resource and contained object resources. Only one policy can be specified per-bucket.
See the Amazon S3 developer guide for more information on forming bucket polices.
getBucketPolicyRequest
- The request object containing all of the
details for retreiving a bucket's policy.AmazonClientException
- If any errors are encountered in the client
while making the request or handling the response.AmazonServiceException
- If any errors occurred in Amazon S3 while
processing the request.setBucketPolicy(String, String)
void setBucketPolicy(java.lang.String bucketName, java.lang.String policyText) throws AmazonClientException, AmazonServiceException
Sets the policy associated with the specified bucket. Only the owner of the bucket can set a bucket policy. If a policy already exists for the specified bucket, the new policy replaces the existing policy.
Bucket policies provide access control management at the bucket level for both the bucket resource and contained object resources. Only one policy can be specified per-bucket.
See the Amazon S3 developer guide for more information on forming bucket polices.
bucketName
- The name of the Amazon S3 bucket whose policy is being
set.policyText
- The policy to apply to the specified bucket.AmazonClientException
- If any errors are encountered in the client
while making the request or handling the response.AmazonServiceException
- If any errors occurred in Amazon S3 while
processing the request.void setBucketPolicy(SetBucketPolicyRequest setBucketPolicyRequest) throws AmazonClientException, AmazonServiceException
Sets the policy associated with the specified bucket. Only the owner of the bucket can set a bucket policy. If a policy already exists for the specified bucket, the new policy replaces the existing policy.
Bucket policies provide access control management at the bucket level for both the bucket resource and contained object resources. Only one policy can be specified per-bucket.
See the Amazon S3 developer guide for more information on forming bucket polices.
setBucketPolicyRequest
- The request object containing the details
of the bucket and policy to update.AmazonClientException
- If any errors are encountered in the client
while making the request or handling the response.AmazonServiceException
- If any errors occurred in Amazon S3 while
processing the request.void deleteBucketPolicy(java.lang.String bucketName) throws AmazonClientException, AmazonServiceException
Deletes the policy associated with the specified bucket. Only the owner of the bucket can delete the bucket policy.
Bucket policies provide access control management at the bucket level for both the bucket resource and contained object resources. Only one policy can be specified per-bucket.
See the Amazon S3 developer guide for more information on forming bucket polices.
bucketName
- The name of the Amazon S3 bucket whose policy is being
deleted.AmazonClientException
- If any errors are encountered in the client
while making the request or handling the response.AmazonServiceException
- If any errors occurred in Amazon S3 while
processing the request.void deleteBucketPolicy(DeleteBucketPolicyRequest deleteBucketPolicyRequest) throws AmazonClientException, AmazonServiceException
Deletes the policy associated with the specified bucket. Only the owner of the bucket can delete the bucket policy.
Bucket policies provide access control management at the bucket level for both the bucket resource and contained object resources. Only one policy can be specified per-bucket.
See the Amazon S3 developer guide for more information on forming bucket polices.
deleteBucketPolicyRequest
- The request object containing all the
details for deleting a bucket's policy.AmazonClientException
- If any errors are encountered in the client
while making the request or handling the response.AmazonServiceException
- If any errors occurred in Amazon S3 while
processing the request.java.net.URL generatePresignedUrl(java.lang.String bucketName, java.lang.String key, java.util.Date expiration) throws AmazonClientException
Returns a pre-signed URL for accessing an Amazon S3 resource.
Pre-signed URLs allow clients to form a URL for an Amazon S3 resource, and then sign it with the current AWS security credentials. The pre-signed URL can be shared to other users, allowing access to the resource without providing an account's AWS security credentials.
Pre-signed URLs are useful in many situations where AWS security credentials aren't available from the client that needs to make the actual request to Amazon S3.
For example, an application may need remote users to upload files to the application owner's Amazon S3 bucket, but doesn't need to ship the AWS security credentials with the application. A pre-signed URL to PUT an object into the owner's bucket can be generated from a remote location with the owner's AWS security credentials, then the pre-signed URL can be passed to the end user's application to use.
If you are generating presigned url for AWS KMS-encrypted objects, you need to specify the correct region of the bucket on your client and configure AWS Signature Version 4 for added security. For more information on how to do this, see http://docs.aws.amazon.com/AmazonS3/latest/dev/UsingAWSSDK.html# specify-signature-version
bucketName
- The name of the bucket containing the desired object.key
- The key in the specified bucket under which the desired object
is stored.expiration
- The time at which the returned pre-signed URL will
expire.AmazonClientException
- If there were any problems pre-signing the
request for the specified S3 object.generatePresignedUrl(String, String, Date, HttpMethod)
,
generatePresignedUrl(GeneratePresignedUrlRequest)
java.net.URL generatePresignedUrl(java.lang.String bucketName, java.lang.String key, java.util.Date expiration, HttpMethod method) throws AmazonClientException
Returns a pre-signed URL for accessing an Amazon S3 resource.
Pre-signed URLs allow clients to form a URL for an Amazon S3 resource, and then sign it with the current AWS security credentials. The pre-signed URL can be shared to other users, allowing access to the resource without providing an account's AWS security credentials.
Pre-signed URLs are useful in many situations where AWS security credentials aren't available from the client that needs to make the actual request to Amazon S3.
For example, an application may need remote users to upload files to the application owner's Amazon S3 bucket, but doesn't need to ship the AWS security credentials with the application. A pre-signed URL to PUT an object into the owner's bucket can be generated from a remote location with the owner's AWS security credentials, then the pre-signed URL can be passed to the end user's application to use.
If you are generating presigned url for AWS KMS-encrypted objects, you need to specify the correct region of the bucket on your client and configure AWS Signature Version 4 for added security. For more information on how to do this, see http://docs.aws.amazon.com/AmazonS3/latest/dev/UsingAWSSDK.html# specify-signature-version
bucketName
- The name of the bucket containing the desired object.key
- The key in the specified bucket under which the desired object
is stored.expiration
- The time at which the returned pre-signed URL will
expire.method
- The HTTP method verb to use for this URLAmazonClientException
- If there were any problems pre-signing the
request for the specified S3 object.generatePresignedUrl(String, String, Date)
,
generatePresignedUrl(GeneratePresignedUrlRequest)
java.net.URL generatePresignedUrl(GeneratePresignedUrlRequest generatePresignedUrlRequest) throws AmazonClientException
Returns a pre-signed URL for accessing an Amazon S3 resource.
Pre-signed URLs allow clients to form a URL for an Amazon S3 resource, and then sign it with the current AWS security credentials. The pre-signed URL can be shared to other users, allowing access to the resource without providing an account's AWS security credentials.
Pre-signed URLs are useful in many situations where AWS security credentials aren't available from the client that needs to make the actual request to Amazon S3.
For example, an application may need remote users to upload files to the application owner's Amazon S3 bucket, but doesn't need to ship the AWS security credentials with the application. A pre-signed URL to PUT an object into the owner's bucket can be generated from a remote location with the owner's AWS security credentials, then the pre-signed URL can be passed to the end user's application to use.
Note that presigned URLs cannot be used to upload an object with an attached policy, as described in this blog post. That method is only suitable for POSTs from HTML forms by browsers.
If you are generating presigned url for AWS KMS-encrypted objects, you need to specify the correct region of the bucket on your client and configure AWS Signature Version 4 for added security. For more information on how to do this, see http://docs.aws.amazon.com/AmazonS3/latest/dev/UsingAWSSDK.html# specify-signature-version
generatePresignedUrlRequest
- The request object containing all the
options for generating a pre-signed URL (bucket name, key,
expiration date, etc).AmazonClientException
- If there were any problems pre-signing the
request for the Amazon S3 resource.generatePresignedUrl(String, String, Date)
,
generatePresignedUrl(String, String, Date, HttpMethod)
InitiateMultipartUploadResult initiateMultipartUpload(InitiateMultipartUploadRequest request) throws AmazonClientException, AmazonServiceException
uploadPart(UploadPartRequest)
requests. You also include this
upload ID in the final request to either complete, or abort the multipart
upload request.
Note: After you initiate a multipart upload and upload one or more parts, you must either complete or abort the multipart upload in order to stop getting charged for storage of the uploaded parts. Once you complete or abort the multipart upload Amazon S3 will release the stored parts and stop charging you for their storage.
If you are initiating a multipart upload for AWS KMS-encrypted objects, you need to specify the correct region of the bucket on your client and configure AWS Signature Version 4 for added security. For more information on how to do this, see http://docs.aws.amazon.com/AmazonS3/latest/dev/UsingAWSSDK.html# specify-signature-version
initiateMultipartUpload
in interface com.amazonaws.services.s3.internal.S3DirectSpi
request
- The InitiateMultipartUploadRequest object that specifies
all the parameters of this operation.AmazonClientException
- If any errors are encountered in the client
while making the request or handling the response.AmazonServiceException
- If any errors occurred in Amazon S3 while
processing the request.UploadPartResult uploadPart(UploadPartRequest request) throws AmazonClientException, AmazonServiceException
Your UploadPart request must include an upload ID and a part number. The upload ID is the ID returned by Amazon S3 in response to your Initiate Multipart Upload request. Part number can be any number between 1 and 10,000, inclusive. A part number uniquely identifies a part and also defines its position within the object being uploaded. If you upload a new part using the same part number that was specified in uploading a previous part, the previously uploaded part is overwritten.
To ensure data is not corrupted traversing the network, specify the Content-MD5 header in the Upload Part request. Amazon S3 checks the part data against the provided MD5 value. If they do not match, Amazon S3 returns an error.
When you upload a part, the returned UploadPartResult contains an ETag property. You should record this ETag property value and the part number. After uploading all parts, you must send a CompleteMultipartUpload request. At that time Amazon S3 constructs a complete object by concatenating all the parts you uploaded, in ascending order based on the part numbers. The CompleteMultipartUpload request requires you to send all the part numbers and the corresponding ETag values.
Note: After you initiate a multipart upload and upload one or more parts, you must either complete or abort the multipart upload in order to stop getting charged for storage of the uploaded parts. Once you complete or abort the multipart upload Amazon S3 will release the stored parts and stop charging you for their storage.
If you are performing upload part for AWS KMS-encrypted objects, you need to specify the correct region of the bucket on your client and configure AWS Signature Version 4 for added security. For more information on how to do this, see http://docs.aws.amazon.com/AmazonS3/latest/dev/UsingAWSSDK.html# specify-signature-version
uploadPart
in interface com.amazonaws.services.s3.internal.S3DirectSpi
request
- The UploadPartRequest object that specifies all the
parameters of this operation.AmazonClientException
- If any errors are encountered in the client
while making the request or handling the response.AmazonServiceException
- If any errors occurred in Amazon S3 while
processing the request.PartListing listParts(ListPartsRequest request) throws AmazonClientException, AmazonServiceException
This method must include the upload ID, returned by the
initiateMultipartUpload(InitiateMultipartUploadRequest)
operation. This request returns a maximum of 1000 uploaded parts by
default. You can restrict the number of parts returned by specifying the
MaxParts property on the ListPartsRequest. If your multipart upload
consists of more parts than allowed in the ListParts response, the
response returns a IsTruncated field with value true, and a
NextPartNumberMarker property. In subsequent ListParts request you can
include the PartNumberMarker property and set its value to the
NextPartNumberMarker property value from the previous response.
request
- The ListPartsRequest object that specifies all the
parameters of this operation.AmazonClientException
- If any errors are encountered in the client
while making the request or handling the response.AmazonServiceException
- If any errors occurred in Amazon S3 while
processing the request.void abortMultipartUpload(AbortMultipartUploadRequest request) throws AmazonClientException, AmazonServiceException
abortMultipartUpload
in interface com.amazonaws.services.s3.internal.S3DirectSpi
request
- The AbortMultipartUploadRequest object that specifies all
the parameters of this operation.AmazonClientException
- If any errors are encountered in the client
while making the request or handling the response.AmazonServiceException
- If any errors occurred in Amazon S3 while
processing the request.CompleteMultipartUploadResult completeMultipartUpload(CompleteMultipartUploadRequest request) throws AmazonClientException, AmazonServiceException
You first upload all parts using the
uploadPart(UploadPartRequest)
method. After successfully
uploading all individual parts of an upload, you call this operation to
complete the upload. Upon receiving this request, Amazon S3 concatenates
all the parts in ascending order by part number to create a new object.
In the CompleteMultipartUpload request, you must provide the parts list.
For each part in the list, you provide the part number and the ETag
header value, returned after that part was uploaded.
Processing of a CompleteMultipartUpload request may take several minutes to complete.
If you are perfoming a complete multipart upload for AWS KMS-encrypted objects, you need to specify the correct region of the bucket on your client and configure AWS Signature Version 4 for added security. For more information on how to do this, see http://docs.aws.amazon.com/AmazonS3/latest/dev/UsingAWSSDK.html# specify-signature-version
completeMultipartUpload
in interface com.amazonaws.services.s3.internal.S3DirectSpi
request
- The CompleteMultipartUploadRequest object that specifies
all the parameters of this operation.AmazonClientException
- If any errors are encountered in the client
while making the request or handling the response.AmazonServiceException
- If any errors occurred in Amazon S3 while
processing the request.MultipartUploadListing listMultipartUploads(ListMultipartUploadsRequest request) throws AmazonClientException, AmazonServiceException
This operation returns at most 1,000 multipart uploads in the response by default. The number of multipart uploads can be further limited using the MaxUploads property on the request parameter. If there are additional multipart uploads that satisfy the list criteria, the response will contain an IsTruncated property with the value set to true. To list the additional multipart uploads use the KeyMarker and UploadIdMarker properties on the request parameters.
request
- The ListMultipartUploadsRequest object that specifies all
the parameters of this operation.AmazonClientException
- If any errors are encountered in the client
while making the request or handling the response.AmazonServiceException
- If any errors occurred in Amazon S3 while
processing the request.S3ResponseMetadata getCachedResponseMetadata(AmazonWebServiceRequest request)
Response metadata is only cached for a limited period of time. Use this method to retrieve the response metadata as soon as possible after executing a request.
request
- The originally executed request.null
if none is available.void restoreObject(RestoreObjectRequest copyGlacierObjectRequest) throws AmazonServiceException
RestoreObjectRequest
- The request object containing all the options
for restoring an Amazon S3 object.AmazonServiceException
- If any errors occurred in Amazon S3 while
processing the request.AmazonS3Client.restoreObject(String, String, int)
void restoreObject(java.lang.String bucketName, java.lang.String key, int expirationInDays) throws AmazonServiceException
bucketName
- The name of an existing bucket.key
- The key under which to store the specified file.expirationInDays
- The number of days after which the object will
expire.AmazonServiceException
- If any errors occurred in Amazon S3 while
processing the request.AmazonS3Client.restoreObject(RestoreObjectRequest)
void enableRequesterPays(java.lang.String bucketName) throws AmazonServiceException, AmazonClientException
If a bucket is enabled for Requester Pays, then any attempt to read an object from it without Requester Pays enabled in getObject will result in a 403 error and the bucket owner will be charged for the request.
Enabling Requester Pays disables the ability to have anonymous access to this bucket
For more information on Requester pays, @see http://docs.aws.amazon.com/AmazonS3/latest/dev/RequesterPaysBuckets.html
bucketName
- The name of the bucket being enabled for Requester
Pays.AmazonServiceException
- If any errors occurred in Amazon S3 while
processing the request.AmazonClientException
- If any errors are encountered in the client
while making the request or handling the response.disableRequesterPays(String)
,
isRequesterPaysEnabled(String)
void disableRequesterPays(java.lang.String bucketName) throws AmazonServiceException, AmazonClientException
If a bucket is enabled for Requester Pays, then any attempt to read an object from it without Requester Pays enabled in getObject will result in a 403 error and the bucket owner will be charged for the request.
Enabling Requester Pays disables the ability to have anonymous access to this bucket
For more information on Requester pays, @see http://docs.aws.amazon.com/AmazonS3/latest/dev/RequesterPaysBuckets.html
bucketName
- The name of bucket being disabled for Requester Pays.AmazonServiceException
- If any errors occurred in Amazon S3 while
processing the request.AmazonClientException
- If any errors are encountered in the client
while making the request or handling the response.enableRequesterPays(String)
,
isRequesterPaysEnabled(String)
boolean isRequesterPaysEnabled(java.lang.String bucketName) throws AmazonServiceException, AmazonClientException
If a bucket is enabled for Requester Pays, then any attempt to read an object from it without Requester Pays enabled will result in a 403 error and the bucket owner will be charged for the request.
Enabling Requester Pays disables the ability to have anonymous access to this bucket.
For more information on Requester pays, @see http://docs.aws.amazon.com/AmazonS3/latest/dev/RequesterPaysBuckets.html
bucketName
- The name of the bucket being checked for Requester
Pays.AmazonServiceException
- If any errors occurred in Amazon S3 while
processing the request.AmazonClientException
- If any errors are encountered in the client
while making the request or handling the response.enableRequesterPays(String)
,
disableRequesterPays(String)
void setBucketReplicationConfiguration(java.lang.String bucketName, BucketReplicationConfiguration configuration) throws AmazonServiceException, AmazonClientException
bucketName
- The Amazon S3 bucket for which the replication
configuration is set.configuration
- The replication configuration.AmazonServiceException
- If any errors occurred in Amazon S3 while
processing the request.AmazonClientException
- If any errors are encountered in the client
while making the request or handling the response.setBucketReplicationConfiguration(SetBucketReplicationConfigurationRequest)
,
getBucketReplicationConfiguration(String)
,
deleteBucketReplicationConfiguration(String)
void setBucketReplicationConfiguration(SetBucketReplicationConfigurationRequest setBucketReplicationConfigurationRequest) throws AmazonServiceException, AmazonClientException
setBucketReplicationConfigurationRequest
- The request object
containing all the options for setting a replication
configuration for an Amazon S3 bucket.AmazonServiceException
- If any errors occurred in Amazon S3 while
processing the request.AmazonClientException
- If any errors are encountered in the client
while making the request or handling the response.setBucketReplicationConfiguration(String,
BucketReplicationConfiguration)
,
getBucketReplicationConfiguration(String)
,
deleteBucketReplicationConfiguration(String)
BucketReplicationConfiguration getBucketReplicationConfiguration(java.lang.String bucketName) throws AmazonServiceException, AmazonClientException
bucketName
- The bucket name for which the replication configuration
is to be retrieved.AmazonServiceException
- If any errors occurred in Amazon S3 while
processing the request.AmazonClientException
- If any errors are encountered in the client
while making the request or handling the response.setBucketReplicationConfiguration(String,
BucketReplicationConfiguration)
,
deleteBucketReplicationConfiguration(String)
BucketReplicationConfiguration getBucketReplicationConfiguration(GetBucketReplicationConfigurationRequest getBucketReplicationConfigurationRequest) throws AmazonServiceException, AmazonClientException
getBucketReplicationConfigurationRequest
- The request object for
retrieving the bucket replication configuration.AmazonServiceException
- If any errors occurred in Amazon S3 while
processing the request.AmazonClientException
- If any errors are encountered in the client
while making the request or handling the response.setBucketReplicationConfiguration(String,
BucketReplicationConfiguration)
,
deleteBucketReplicationConfiguration(String)
void deleteBucketReplicationConfiguration(java.lang.String bucketName) throws AmazonServiceException, AmazonClientException
bucketName
- The bucket name for which the replication configuration
is to be deleted.AmazonServiceException
- If any errors occurred in Amazon S3 while
processing the request.AmazonClientException
- If any errors are encountered in the client
while making the request or handling the response.setBucketReplicationConfiguration(String,
BucketReplicationConfiguration)
,
getBucketReplicationConfiguration(String)
,
deleteBucketReplicationConfiguration(DeleteBucketReplicationConfigurationRequest)
void deleteBucketReplicationConfiguration(DeleteBucketReplicationConfigurationRequest request) throws AmazonServiceException, AmazonClientException
request
- The request object for delete bucket replication
configuration.AmazonServiceException
- If any errors occurred in Amazon S3 while
processing the request.AmazonClientException
- If any errors are encountered in the client
while making the request or handling the response.setBucketReplicationConfiguration(String,
BucketReplicationConfiguration)
,
getBucketReplicationConfiguration(String)
,
deleteBucketReplicationConfiguration(String)
boolean doesObjectExist(java.lang.String bucketName, java.lang.String objectName) throws AmazonServiceException, AmazonClientException
bucketName
- Name of bucket that presumably contains objectobjectName
- Name of object that has to be checkedAmazonServiceException
- If any errors occurred in Amazon S3 while
processing the request.AmazonClientException
- If any errors are encountered in the client
while making the request or handling the response.BucketAccelerateConfiguration getBucketAccelerateConfiguration(java.lang.String bucket) throws AmazonServiceException, AmazonClientException
bucketName
- The name of the bucket whose accelerate configuration
is being fetched.AmazonServiceException
- If any errors occurred in Amazon S3 while
processing the request.AmazonClientException
- If any errors are encountered in the client
while making the request or handling the response.BucketAccelerateConfiguration getBucketAccelerateConfiguration(GetBucketAccelerateConfigurationRequest getBucketAccelerateConfigurationRequest) throws AmazonServiceException, AmazonClientException
getBucketAccelerateConfigurationRequest
- The request object for
retrieving the bucket accelerate configuration.AmazonServiceException
- If any errors occurred in Amazon S3 while
processing the request.AmazonClientException
- If any errors are encountered in the client
while making the request or handling the response.void setBucketAccelerateConfiguration(java.lang.String bucketName, BucketAccelerateConfiguration accelerateConfiguration) throws AmazonServiceException, AmazonClientException
bucketName
- The name of the bucket whose accelerate configuration
is being set.accelerateConfiguration
- The new accelerate configuration for this
bucket, which completely replaces any existing configuration.AmazonServiceException
AmazonClientException
void setBucketAccelerateConfiguration(SetBucketAccelerateConfigurationRequest setBucketAccelerateConfigurationRequest) throws AmazonServiceException, AmazonClientException
setBucketAccelerateConfigurationRequest
- The request object
containing all options for setting the bucket accelerate
configuration.AmazonServiceException
AmazonClientException
DeleteBucketMetricsConfigurationResult deleteBucketMetricsConfiguration(java.lang.String bucketName, java.lang.String id) throws AmazonServiceException, AmazonClientException
bucketName
- The name of the bucket from which the metrics configuration is to be deletedid
- The ID of the metrics configuration to delete.AmazonServiceException
AmazonClientException
DeleteBucketMetricsConfigurationResult deleteBucketMetricsConfiguration(DeleteBucketMetricsConfigurationRequest deleteBucketMetricsConfigurationRequest) throws AmazonServiceException, AmazonClientException
deleteBucketMetricsConfigurationRequest
- The request object to delete the metrics configuration.AmazonServiceException
AmazonClientException
GetBucketMetricsConfigurationResult getBucketMetricsConfiguration(java.lang.String bucketName, java.lang.String id) throws AmazonServiceException, AmazonClientException
bucketName
- The name of the bucket to get the metrics configuration from.id
- The ID of the metrics configuration to get.AmazonServiceException
AmazonClientException
GetBucketMetricsConfigurationResult getBucketMetricsConfiguration(GetBucketMetricsConfigurationRequest getBucketMetricsConfigurationRequest) throws AmazonServiceException, AmazonClientException
getBucketMetricsConfigurationRequest
- The request object to retrieve the metrics configuration.AmazonServiceException
AmazonClientException
SetBucketMetricsConfigurationResult setBucketMetricsConfiguration(java.lang.String bucketName, MetricsConfiguration metricsConfiguration) throws AmazonServiceException, AmazonClientException
bucketName
- The name of the bucket to set the metrics configuration.metricsConfiguration
- The metrics configuration to set.AmazonServiceException
AmazonClientException
SetBucketMetricsConfigurationResult setBucketMetricsConfiguration(SetBucketMetricsConfigurationRequest setBucketMetricsConfigurationRequest) throws AmazonServiceException, AmazonClientException
setBucketMetricsConfigurationRequest
- The request object to set the metrics configuration.AmazonServiceException
AmazonClientException
ListBucketMetricsConfigurationsResult listBucketMetricsConfigurations(ListBucketMetricsConfigurationsRequest listBucketMetricsConfigurationsRequest) throws AmazonServiceException, AmazonClientException
listBucketMetricsConfigurationsRequest
- The request object to list all the metrics configurations for a bucket.AmazonServiceException
AmazonClientException
DeleteBucketAnalyticsConfigurationResult deleteBucketAnalyticsConfiguration(java.lang.String bucketName, java.lang.String id) throws AmazonServiceException, AmazonClientException
bucketName
- The name of the bucket from which the analytics configuration is to be deletedid
- The ID of the analytics configuration to delete.AmazonServiceException
AmazonClientException
DeleteBucketAnalyticsConfigurationResult deleteBucketAnalyticsConfiguration(DeleteBucketAnalyticsConfigurationRequest deleteBucketAnalyticsConfigurationRequest) throws AmazonServiceException, AmazonClientException
deleteBucketAnalyticsConfigurationRequest
- The request object to delete the analytics configuration.AmazonServiceException
AmazonClientException
GetBucketAnalyticsConfigurationResult getBucketAnalyticsConfiguration(java.lang.String bucketName, java.lang.String id) throws AmazonServiceException, AmazonClientException
bucketName
- The name of the bucket to get the analytics configuration from.id
- The ID of the analytics configuration to get.AmazonServiceException
AmazonClientException
GetBucketAnalyticsConfigurationResult getBucketAnalyticsConfiguration(GetBucketAnalyticsConfigurationRequest getBucketAnalyticsConfigurationRequest) throws AmazonServiceException, AmazonClientException
getBucketAnalyticsConfigurationRequest
- The request object to retrieve the analytics configuration.AmazonServiceException
AmazonClientException
SetBucketAnalyticsConfigurationResult setBucketAnalyticsConfiguration(java.lang.String bucketName, AnalyticsConfiguration analyticsConfiguration) throws AmazonServiceException, AmazonClientException
bucketName
- The name of the bucket to set the analytics configuration.analyticsConfiguration
- The analytics configuration to set.AmazonServiceException
AmazonClientException
SetBucketAnalyticsConfigurationResult setBucketAnalyticsConfiguration(SetBucketAnalyticsConfigurationRequest setBucketAnalyticsConfigurationRequest) throws AmazonServiceException, AmazonClientException
setBucketAnalyticsConfigurationRequest
- The request object to set the analytics configuration.AmazonServiceException
AmazonClientException
ListBucketAnalyticsConfigurationsResult listBucketAnalyticsConfigurations(ListBucketAnalyticsConfigurationsRequest listBucketAnalyticsConfigurationsRequest) throws AmazonServiceException, AmazonClientException
listBucketAnalyticsConfigurationsRequest
- The request object to list all the analytics configurations for a bucket.AmazonServiceException
AmazonClientException
DeleteBucketInventoryConfigurationResult deleteBucketInventoryConfiguration(java.lang.String bucketName, java.lang.String id) throws AmazonServiceException, AmazonClientException
bucketName
- The name of the bucket from which the inventory configuration is to be deleted.id
- The ID of the inventory configuration to delete.AmazonServiceException
AmazonClientException
DeleteBucketInventoryConfigurationResult deleteBucketInventoryConfiguration(DeleteBucketInventoryConfigurationRequest deleteBucketInventoryConfigurationRequest) throws AmazonServiceException, AmazonClientException
deleteBucketInventoryConfigurationRequest
- The request object for deleting an inventory configuration.AmazonServiceException
AmazonClientException
GetBucketInventoryConfigurationResult getBucketInventoryConfiguration(java.lang.String bucketName, java.lang.String id) throws AmazonServiceException, AmazonClientException
bucketName
- The name of the bucket to get the inventory configuration from.id
- The ID of the inventory configuration to delete.GetBucketInventoryConfigurationResult
object containing the inventory configuration.AmazonServiceException
AmazonClientException
GetBucketInventoryConfigurationResult getBucketInventoryConfiguration(GetBucketInventoryConfigurationRequest getBucketInventoryConfigurationRequest) throws AmazonServiceException, AmazonClientException
getBucketInventoryConfigurationRequest
- The request object to retreive an inventory configuration.GetBucketInventoryConfigurationResult
object containing the inventory configuration.AmazonServiceException
AmazonClientException
SetBucketInventoryConfigurationResult setBucketInventoryConfiguration(java.lang.String bucketName, InventoryConfiguration inventoryConfiguration) throws AmazonServiceException, AmazonClientException
bucketName
- The name of the bucket to set the inventory configuration to.inventoryConfiguration
- The inventory configuration to set.AmazonServiceException
AmazonClientException
SetBucketInventoryConfigurationResult setBucketInventoryConfiguration(SetBucketInventoryConfigurationRequest setBucketInventoryConfigurationRequest) throws AmazonServiceException, AmazonClientException
setBucketInventoryConfigurationRequest
- The request object for setting an inventory configuration.AmazonServiceException
AmazonClientException
ListBucketInventoryConfigurationsResult listBucketInventoryConfigurations(ListBucketInventoryConfigurationsRequest listBucketInventoryConfigurationsRequest) throws AmazonServiceException, AmazonClientException
listBucketInventoryConfigurationsRequest
- The request object to list the inventory configurations in a bucket.ListBucketInventoryConfigurationsResult
object containing the list of InventoryConfiguration
s.AmazonServiceException
AmazonClientException
Region getRegion()
java.lang.String getRegionName()
java.net.URL getUrl(java.lang.String bucketName, java.lang.String key)
If the object identified by the given bucket and key has public read
permissions (ex: CannedAccessControlList.PublicRead
), then this
URL can be directly accessed to retrieve the object's data.
bucketName
- The name of the bucket containing the object whose URL is
being requested.key
- The key under which the object whose URL is being requested is
stored.Copyright © 2018 Amazon Web Services, Inc. All Rights Reserved.