public abstract class AbstractAmazonS3 extends Object implements AmazonS3
ENDPOINT_PREFIX| Constructor and Description | 
|---|
| AbstractAmazonS3() | 
| Modifier and Type | Method and Description | 
|---|---|
| void | abortMultipartUpload(AbortMultipartUploadRequest request)Aborts a multipart upload. | 
| void | changeObjectStorageClass(String bucketName,
                        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(String sourceBucketName,
          String sourceKey,
          String destinationBucketName,
          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 region that the client was created
 in. | 
| Bucket | createBucket(String bucketName)
 Creates a new Amazon S3 bucket with the specified name in the region
 that the client was created in. | 
| Bucket | createBucket(String bucketName,
            Region region)
 Creates a new Amazon S3 bucket with the specified name in the specified
 Amazon S3 region. | 
| Bucket | createBucket(String bucketName,
            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(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(String bucketName,
                                  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(String bucketName)Delete the cross origin configuration for the specified bucket. | 
| DeleteBucketEncryptionResult | deleteBucketEncryption(DeleteBucketEncryptionRequest request)Deletes the server-side encryption configuration from the bucket. | 
| DeleteBucketEncryptionResult | deleteBucketEncryption(String bucketName)Deletes the server-side encryption configuration from the bucket. | 
| DeleteBucketIntelligentTieringConfigurationResult | deleteBucketIntelligentTieringConfiguration(DeleteBucketIntelligentTieringConfigurationRequest deleteBucketIntelligentTieringConfigurationRequest)Deletes the S3 Intelligent-Tiering configuration from the specified bucket. | 
| DeleteBucketIntelligentTieringConfigurationResult | deleteBucketIntelligentTieringConfiguration(String bucketName,
                                           String id)Deletes the S3 Intelligent-Tiering configuration from the specified bucket. | 
| DeleteBucketInventoryConfigurationResult | deleteBucketInventoryConfiguration(DeleteBucketInventoryConfigurationRequest deleteBucketInventoryConfigurationRequest)Deletes an inventory configuration (identified by the inventory ID) from the bucket. | 
| DeleteBucketInventoryConfigurationResult | deleteBucketInventoryConfiguration(String bucketName,
                                  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(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(String bucketName,
                                String id)Deletes a metrics configuration (specified by the metrics configuration ID) from the bucket. | 
| DeleteBucketOwnershipControlsResult | deleteBucketOwnershipControls(DeleteBucketOwnershipControlsRequest deleteBucketOwnershipControlsRequest)Removes  OwnershipControlsfor an Amazon S3 bucket. | 
| void | deleteBucketPolicy(DeleteBucketPolicyRequest deleteBucketPolicyRequest)
 Deletes the policy associated with the specified bucket. | 
| void | deleteBucketPolicy(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(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(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(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(String bucketName,
            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. | 
| DeletePublicAccessBlockResult | deletePublicAccessBlock(DeletePublicAccessBlockRequest request)Removes the Public Access Block configuration for an Amazon S3 bucket. | 
| void | deleteVersion(DeleteVersionRequest deleteVersionRequest)
 Deletes a specific version of an object in the specified bucket. | 
| void | deleteVersion(String bucketName,
             String key,
             String versionId)
 Deletes a specific version of the specified object in the specified
 bucket. | 
| void | disableRequesterPays(String bucketName)Allows Amazon S3 bucket owner to disable the Requester Pays for the
 given bucket name. | 
| boolean | doesBucketExist(String bucketName)Checks if the specified bucket exists. | 
| boolean | doesBucketExistV2(String bucketName)Checks if the specified bucket exists. | 
| boolean | doesObjectExist(String bucketName,
               String objectName) | 
| PresignedUrlDownloadResult | download(PresignedUrlDownloadRequest presignedUrlDownloadRequest)
 Gets the object stored in Amazon S3 using a presigned url. | 
| void | download(PresignedUrlDownloadRequest presignedUrlDownloadRequest,
        File destinationFile)
 Gets the object stored in Amazon S3 using a presigned url. | 
| void | enableRequesterPays(String bucketName)Allows Amazon S3 bucket owner to enable the Requester Pays for the given
 bucket name. | 
| URL | generatePresignedUrl(GeneratePresignedUrlRequest generatePresignedUrlRequest)
 Returns a pre-signed URL for accessing an Amazon S3 resource. | 
| URL | generatePresignedUrl(String bucketName,
                    String key,
                    Date expiration)
 Returns a pre-signed URL for accessing an Amazon S3 resource. | 
| URL | generatePresignedUrl(String bucketName,
                    String key,
                    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(String bucketName)Retrieves the accelerate configuration for the given bucket. | 
| AccessControlList | getBucketAcl(GetBucketAclRequest getBucketAclRequest)Gets the  AccessControlList(ACL) for the specified Amazon S3
 bucket. | 
| AccessControlList | getBucketAcl(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(String bucketName,
                               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(String bucketName)Gets the cross origin configuration for the specified bucket, or null if
 the specified bucket does not exist, or an empty list if no
 configuration has been established. | 
| GetBucketEncryptionResult | getBucketEncryption(GetBucketEncryptionRequest request)Returns the server-side encryption configuration of a bucket. | 
| GetBucketEncryptionResult | getBucketEncryption(String bucketName)Returns the server-side encryption configuration of a bucket. | 
| GetBucketIntelligentTieringConfigurationResult | getBucketIntelligentTieringConfiguration(GetBucketIntelligentTieringConfigurationRequest getBucketIntelligentTieringConfigurationRequest)Gets the S3 Intelligent-Tiering configuration from the specified bucket. | 
| GetBucketIntelligentTieringConfigurationResult | getBucketIntelligentTieringConfiguration(String bucketName,
                                        String id)Gets the S3 Intelligent-Tiering configuration from the specified bucket. | 
| GetBucketInventoryConfigurationResult | getBucketInventoryConfiguration(GetBucketInventoryConfigurationRequest getBucketInventoryConfigurationRequest)Returns an inventory configuration (identified by the inventory ID) from the bucket. | 
| GetBucketInventoryConfigurationResult | getBucketInventoryConfiguration(String bucketName,
                               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 exist or if no configuration has been established. | 
| BucketLifecycleConfiguration | getBucketLifecycleConfiguration(String bucketName)Gets the lifecycle configuration for the specified bucket, or null if
 the specified bucket does not exist or if no configuration has been established. | 
| String | getBucketLocation(GetBucketLocationRequest getBucketLocationRequest)
 Gets the geographical region where Amazon S3 stores the specified
 bucket. | 
| String | getBucketLocation(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(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(String bucketName,
                             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(String bucketName)Gets the notification configuration for the specified bucket. | 
| GetBucketOwnershipControlsResult | getBucketOwnershipControls(GetBucketOwnershipControlsRequest getBucketOwnershipControlsRequest)Retrieves  OwnershipControlsfor an Amazon S3 bucket. | 
| BucketPolicy | getBucketPolicy(GetBucketPolicyRequest getBucketPolicyRequest)
 Gets the policy for the specified bucket. | 
| BucketPolicy | getBucketPolicy(String bucketName)
 Gets the policy for the specified bucket. | 
| GetBucketPolicyStatusResult | getBucketPolicyStatus(GetBucketPolicyStatusRequest request)Retrieves the policy status for an Amazon S3 bucket, indicating whether the bucket is public | 
| BucketReplicationConfiguration | getBucketReplicationConfiguration(GetBucketReplicationConfigurationRequest getBucketReplicationConfigurationRequest)Retrieves the replication configuration for the given Amazon S3 bucket. | 
| BucketReplicationConfiguration | getBucketReplicationConfiguration(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 exist, or if no configuration has been established. | 
| BucketTaggingConfiguration | getBucketTaggingConfiguration(String bucketName)Gets the tagging configuration for the specified bucket, or null if
 the specified bucket does not exist, or if no configuration has been established. | 
| BucketVersioningConfiguration | getBucketVersioningConfiguration(GetBucketVersioningConfigurationRequest getBucketVersioningConfigurationRequest)
 Returns the versioning configuration for the specified bucket. | 
| BucketVersioningConfiguration | getBucketVersioningConfiguration(String bucketName)
 Returns the versioning configuration for the specified bucket. | 
| BucketWebsiteConfiguration | getBucketWebsiteConfiguration(GetBucketWebsiteConfigurationRequest getBucketWebsiteConfigurationRequest)Returns the website configuration for the specified bucket. | 
| BucketWebsiteConfiguration | getBucketWebsiteConfiguration(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,
         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(String bucketName,
         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(String bucketName,
            String key)
 Gets the  AccessControlList(ACL) for the specified object in Amazon S3. | 
| AccessControlList | getObjectAcl(String bucketName,
            String key,
            String versionId)
 Gets the  AccessControlList(ACL) for the specified object
 with the specified version in Amazon S3. | 
| String | getObjectAsString(String bucketName,
                 String key)
 Retrieves and decodes the contents of an S3 object to a String. | 
| GetObjectLegalHoldResult | getObjectLegalHold(GetObjectLegalHoldRequest getObjectLegalHoldRequest)Gets an object's current Legal Hold status. | 
| GetObjectLockConfigurationResult | getObjectLockConfiguration(GetObjectLockConfigurationRequest getObjectLockConfigurationRequest)Gets the Object Lock configuration for a bucket. | 
| ObjectMetadata | getObjectMetadata(GetObjectMetadataRequest getObjectMetadataRequest)
 Gets the metadata for the specified Amazon S3 object without
 actually fetching the object itself. | 
| ObjectMetadata | getObjectMetadata(String bucketName,
                 String key)
 Gets the metadata for the specified Amazon S3 object without
 actually fetching the object itself. | 
| GetObjectRetentionResult | getObjectRetention(GetObjectRetentionRequest getObjectRetentionRequest)Retrieves an object's retention settings. | 
| GetObjectTaggingResult | getObjectTagging(GetObjectTaggingRequest objectTaggingRequest)Returns the tags for the specified object. | 
| GetPublicAccessBlockResult | getPublicAccessBlock(GetPublicAccessBlockRequest request)Retrieves the Public Access Block configuration for an Amazon S3 bucket. | 
| Region | getRegion()Returns the region with which the client is configured. | 
| 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. | 
| URL | getUrl(String bucketName,
      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(String bucketName)Retrieves the Requester Pays configuration associated with an Amazon S3
 bucket. | 
| ListBucketAnalyticsConfigurationsResult | listBucketAnalyticsConfigurations(ListBucketAnalyticsConfigurationsRequest listBucketAnalyticsConfigurationsRequest)Lists the analytics configurations for the bucket. | 
| ListBucketIntelligentTieringConfigurationsResult | listBucketIntelligentTieringConfigurations(ListBucketIntelligentTieringConfigurationsRequest listBucketIntelligentTieringConfigurationsRequest)Lists the S3 Intelligent-Tiering configuration from the specified 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. | 
| List<Bucket> | listBuckets()
 Returns a list of all Amazon S3 buckets that the
 authenticated sender of the request owns. | 
| 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  VersionListingand retrieve
 the next page of results. | 
| VersionListing | listNextBatchOfVersions(VersionListing previousVersionListing)
 Provides an easy way to continue a truncated  VersionListingand 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(String bucketName)
 Returns a list of summary information about the objects in the specified
 buckets. | 
| ObjectListing | listObjects(String bucketName,
           String prefix)
 Returns a list of summary information about the objects in the specified
 bucket. | 
| ListObjectsV2Result | listObjectsV2(ListObjectsV2Request listObjectsV2Request) | 
| ListObjectsV2Result | listObjectsV2(String bucketName) | 
| ListObjectsV2Result | listObjectsV2(String bucketName,
             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(String bucketName,
            String prefix)
 Returns a list of summary information about the versions in the specified
 bucket. | 
| VersionListing | listVersions(String bucketName,
            String prefix,
            String keyMarker,
            String versionIdMarker,
            String delimiter,
            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(String bucketName,
         String key,
         File file)
 Uploads the specified file to Amazon S3 under the specified bucket and
 key name. | 
| PutObjectResult | putObject(String bucketName,
         String key,
         InputStream input,
         ObjectMetadata metadata)
 Uploads the specified input stream and object metadata to Amazon S3 under
 the specified bucket and key name. | 
| PutObjectResult | putObject(String bucketName,
         String key,
         String content)
 Encodes a String into the contents of an S3 object. | 
| void | restoreObject(RestoreObjectRequest request)Restore an object, which was transitioned to Amazon Glacier from Amazon
 S3 when it was expired, into Amazon S3 again. | 
| void | restoreObject(String bucketName,
             String key,
             int expirationInDays)Restore an object, which was transitioned to Amazon Glacier from Amazon
 S3 when it was expired, into Amazon S3 again. | 
| RestoreObjectResult | restoreObjectV2(RestoreObjectRequest request)
 Restores an archived copy of an object back into Amazon S3 | 
| SelectObjectContentResult | selectObjectContent(SelectObjectContentRequest selectRequest)This operation filters the contents of an Amazon S3 object based on a simple Structured Query Language (SQL) statement. | 
| void | setBucketAccelerateConfiguration(SetBucketAccelerateConfigurationRequest setBucketAccelerateConfigurationRequest)Sets the accelerate configuration for the specified bucket. | 
| void | setBucketAccelerateConfiguration(String bucketName,
                                BucketAccelerateConfiguration accelerateConfiguration)Sets the accelerate configuration for the specified bucket. | 
| void | setBucketAcl(SetBucketAclRequest setBucketAclRequest)Sets the  AccessControlListfor the specified Amazon S3 bucket. | 
| void | setBucketAcl(String bucketName,
            AccessControlList acl)
 Sets the  AccessControlListfor the specified Amazon S3 bucket. | 
| void | setBucketAcl(String bucketName,
            CannedAccessControlList cannedAcl)
 Sets the  CannedAccessControlListfor the specified Amazon S3 bucket using one of
 the pre-configuredCannedAccessControlLists. | 
| SetBucketAnalyticsConfigurationResult | setBucketAnalyticsConfiguration(SetBucketAnalyticsConfigurationRequest setBucketAnalyticsConfigurationRequest)Sets an analytics configuration for the bucket (specified by the analytics configuration ID). | 
| SetBucketAnalyticsConfigurationResult | setBucketAnalyticsConfiguration(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(String bucketName,
                                 BucketCrossOriginConfiguration bucketCrossOriginConfiguration)Sets the cross origin configuration for the specified bucket. | 
| SetBucketEncryptionResult | setBucketEncryption(SetBucketEncryptionRequest request)Creates a new server-side encryption configuration (or replaces an existing one, if present). | 
| SetBucketIntelligentTieringConfigurationResult | setBucketIntelligentTieringConfiguration(SetBucketIntelligentTieringConfigurationRequest setBucketIntelligentTieringConfigurationRequest)Creates or modifies an S3 Intelligent-Tiering configuration in the specified bucket. | 
| SetBucketIntelligentTieringConfigurationResult | setBucketIntelligentTieringConfiguration(String bucketName,
                                        IntelligentTieringConfiguration intelligentTieringConfiguration)Creates or modifies an S3 Intelligent-Tiering configuration in the specified bucket. | 
| SetBucketInventoryConfigurationResult | setBucketInventoryConfiguration(SetBucketInventoryConfigurationRequest setBucketInventoryConfigurationRequest)Sets an inventory configuration (identified by the inventory ID) to the bucket. | 
| SetBucketInventoryConfigurationResult | setBucketInventoryConfiguration(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(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(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(String bucketName,
                                  BucketNotificationConfiguration bucketNotificationConfiguration)Sets the notification configuration for the specified bucket. | 
| SetBucketOwnershipControlsResult | setBucketOwnershipControls(SetBucketOwnershipControlsRequest setBucketOwnershipControlsRequest)
     Creates or modifies  OwnershipControlsfor an Amazon S3 bucket. | 
| SetBucketOwnershipControlsResult | setBucketOwnershipControls(String bucketName,
                          OwnershipControls ownershipControls)
     Creates or modifies  OwnershipControlsfor an Amazon S3 bucket. | 
| void | setBucketPolicy(SetBucketPolicyRequest setBucketPolicyRequest)
 Sets the policy associated with the specified bucket. | 
| void | setBucketPolicy(String bucketName,
               String policyText)
 Sets the policy associated with the specified bucket. | 
| void | setBucketReplicationConfiguration(SetBucketReplicationConfigurationRequest setBucketReplicationConfigurationRequest)
 Creates a replication configuration or replaces an existing one. | 
| void | setBucketReplicationConfiguration(String bucketName,
                                 BucketReplicationConfiguration configuration)
 Creates a replication configuration or replaces an existing one. | 
| void | setBucketTaggingConfiguration(SetBucketTaggingConfigurationRequest setBucketTaggingConfigurationRequest)Sets the tagging configuration for the specified bucket. | 
| void | setBucketTaggingConfiguration(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(String bucketName,
                             BucketWebsiteConfiguration configuration)Sets the website configuration for the specified bucket. | 
| void | setEndpoint(String endpoint)
 Overrides the default endpoint for this client. | 
| void | setObjectAcl(SetObjectAclRequest setObjectAclRequest)Sets the  AccessControlListfor the specified Amazon S3 object
 with an optional version ID. | 
| void | setObjectAcl(String bucketName,
            String key,
            AccessControlList acl)
 Sets the  AccessControlListfor the specified object in Amazon S3. | 
| void | setObjectAcl(String bucketName,
            String key,
            CannedAccessControlList acl)
 Sets the  CannedAccessControlListfor the specified object in
 Amazon S3 using one
 of the pre-configuredCannedAccessControlLists. | 
| void | setObjectAcl(String bucketName,
            String key,
            String versionId,
            AccessControlList acl)
 Sets the  CannedAccessControlListfor the specified object
 with the specified version in Amazon S3. | 
| void | setObjectAcl(String bucketName,
            String key,
            String versionId,
            CannedAccessControlList acl)
 Sets the  CannedAccessControlListfor the specified object with the specified
 version ID in Amazon S3 using one of the pre-configuredCannedAccessControlLists. | 
| SetObjectLegalHoldResult | setObjectLegalHold(SetObjectLegalHoldRequest setObjectLegalHoldRequest)Applies a Legal Hold configuration to the specified object. | 
| SetObjectLockConfigurationResult | setObjectLockConfiguration(SetObjectLockConfigurationRequest setObjectLockConfigurationRequest)Places an Object Lock configuration on the specified bucket. | 
| void | setObjectRedirectLocation(String bucketName,
                         String key,
                         String newRedirectLocation)
 Changes the Amazon S3 redirect location for a specific object. | 
| SetObjectRetentionResult | setObjectRetention(SetObjectRetentionRequest setObjectRetentionRequest)Places an Object Retention configuration on an object. | 
| SetObjectTaggingResult | setObjectTagging(SetObjectTaggingRequest setObjectTaggingRequest)Set the tags for the specified object. | 
| SetPublicAccessBlockResult | setPublicAccessBlock(SetPublicAccessBlockRequest request)Creates or modifies the Public Access Block configuration for an Amazon S3 bucket. | 
| void | setRegion(Region region)An alternative to  AmazonS3.setEndpoint(String), sets the
 regional endpoint for this client's service calls. | 
| void | setRequestPaymentConfiguration(SetRequestPaymentConfigurationRequest request)Configure the Requester Pays configuration associated with an Amazon S3 bucket. | 
| void | setS3ClientOptions(S3ClientOptions clientOptions)
 Override the default S3 client options for this client. | 
| void | shutdown()Shuts down this client object, releasing any resources that might be held
 open. | 
| PresignedUrlUploadResult | upload(PresignedUrlUploadRequest presignedUrlUploadRequest)
 Uploads a new object into S3 using the given presigned url. | 
| UploadPartResult | uploadPart(UploadPartRequest request)Uploads a part in a multipart upload. | 
| AmazonS3Waiters | waiters() | 
| WriteGetObjectResponseResult | writeGetObjectResponse(WriteGetObjectResponseRequest writeGetObjectResponseRequest)
 Passes transformed objects to a  GetObjectoperation when using Object Lambda Access Points. | 
public void setEndpoint(String endpoint)
AmazonS3Overrides 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.
 
setEndpoint in interface AmazonS3endpoint - 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.public void setRegion(Region region) throws IllegalArgumentException
AmazonS3AmazonS3.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.
setRegion in interface AmazonS3region - The region this client will communicate with. See
            Region.getRegion(com.amazonaws.regions.Regions) for
            accessing a given region.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)public void setS3ClientOptions(S3ClientOptions clientOptions)
AmazonS3Override the default S3 client options for this client.
setS3ClientOptions in interface AmazonS3clientOptions - The S3 client options to use.public void changeObjectStorageClass(String bucketName, String key, StorageClass newStorageClass) throws SdkClientException, AmazonServiceException
AmazonS3Changes 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.
changeObjectStorageClass in interface AmazonS3bucketName - 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.SdkClientException - 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.public void setObjectRedirectLocation(String bucketName, String key, String newRedirectLocation) throws SdkClientException, AmazonServiceException
AmazonS3Changes the Amazon S3 redirect location for a specific object.
setObjectRedirectLocation in interface AmazonS3bucketName - 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.SdkClientException - 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.public ObjectListing listObjects(String bucketName) throws SdkClientException, AmazonServiceException
AmazonS3Returns 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.
listObjects in interface AmazonS3bucketName - The name of the Amazon S3 bucket to list.SdkClientException - 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), 
AWS API Documentationpublic ObjectListing listObjects(String bucketName, String prefix) throws SdkClientException, AmazonServiceException
AmazonS3Returns 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.
listObjects in interface AmazonS3bucketName - 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.SdkClientException - 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), 
AWS API Documentationpublic ObjectListing listObjects(ListObjectsRequest listObjectsRequest) throws SdkClientException, AmazonServiceException
AmazonS3Returns 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.
listObjects in interface AmazonS3listObjectsRequest - The request object containing all options for listing the
            objects in a specified bucket.SdkClientException - 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), 
AWS API Documentationpublic ListObjectsV2Result listObjectsV2(String bucketName) throws SdkClientException, AmazonServiceException
listObjectsV2 in interface AmazonS3SdkClientExceptionAmazonServiceExceptionpublic ListObjectsV2Result listObjectsV2(String bucketName, String prefix) throws SdkClientException, AmazonServiceException
listObjectsV2 in interface AmazonS3SdkClientExceptionAmazonServiceExceptionpublic ListObjectsV2Result listObjectsV2(ListObjectsV2Request listObjectsV2Request) throws SdkClientException, AmazonServiceException
listObjectsV2 in interface AmazonS3SdkClientExceptionAmazonServiceExceptionpublic ObjectListing listNextBatchOfObjects(ObjectListing previousObjectListing) throws SdkClientException, AmazonServiceException
AmazonS3Provides 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.
 
listNextBatchOfObjects in interface AmazonS3previousObjectListing - 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.SdkClientException - 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(ListNextBatchOfObjectsRequest), 
AWS API Documentationpublic ObjectListing listNextBatchOfObjects(ListNextBatchOfObjectsRequest listNextBatchOfObjectsRequest) throws SdkClientException, AmazonServiceException
AmazonS3Provides 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.
 
listNextBatchOfObjects in interface AmazonS3listNextBatchOfObjectsRequest - 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.SdkClientException - 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), 
AWS API Documentationpublic VersionListing listVersions(String bucketName, String prefix) throws SdkClientException, AmazonServiceException
AmazonS3Returns 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
 AmazonS3.listNextBatchOfVersions(VersionListing) as an easy way
 to get the next page of results.
 
 For more information about enabling versioning for a bucket, see
 AmazonS3.setBucketVersioningConfiguration(SetBucketVersioningConfigurationRequest).
 
listVersions in interface AmazonS3bucketName - 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.SdkClientException - 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), 
AWS API Documentationpublic VersionListing listVersions(String bucketName, String prefix, String keyMarker, String versionIdMarker, String delimiter, Integer maxResults) throws SdkClientException, AmazonServiceException
AmazonS3Returns 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
 AmazonS3.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
 AmazonS3.setBucketVersioningConfiguration(SetBucketVersioningConfigurationRequest).
 
listVersions in interface AmazonS3bucketName - 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
            AmazonS3.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
            AmazonS3.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.SdkClientException - 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), 
AWS API Documentationpublic VersionListing listVersions(ListVersionsRequest listVersionsRequest) throws SdkClientException, AmazonServiceException
AmazonS3Returns 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
 AmazonS3.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
 AmazonS3.setBucketVersioningConfiguration(SetBucketVersioningConfigurationRequest).
 
listVersions in interface AmazonS3listVersionsRequest - The request object containing all options for listing the
            versions in a specified bucket.SdkClientException - 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), 
AWS API Documentationpublic VersionListing listNextBatchOfVersions(VersionListing previousVersionListing) throws SdkClientException, AmazonServiceException
AmazonS3
 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
 AmazonS3.setBucketVersioningConfiguration(SetBucketVersioningConfigurationRequest).
 
listNextBatchOfVersions in interface AmazonS3previousVersionListing - 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.SdkClientException - 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(ListNextBatchOfVersionsRequest), 
AWS API Documentationpublic VersionListing listNextBatchOfVersions(ListNextBatchOfVersionsRequest listNextBatchOfVersionsRequest) throws SdkClientException, AmazonServiceException
AmazonS3
 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
 AmazonS3.setBucketVersioningConfiguration(SetBucketVersioningConfigurationRequest).
 
listNextBatchOfVersions in interface AmazonS3listNextBatchOfVersionsRequest - 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.SdkClientException - 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), 
AWS API Documentationpublic Owner getS3AccountOwner() throws SdkClientException, AmazonServiceException
AmazonS3Gets 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.
 This operation uses the AmazonS3.listBuckets() operation internally, and therefore requires the
 <s3:ListAllMyBuckets (S3Actions.ListBuckets) IAM permission.
 
getS3AccountOwner in interface AmazonS3SdkClientException - 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.AmazonS3.getS3AccountOwner(GetS3AccountOwnerRequest)public Owner getS3AccountOwner(GetS3AccountOwnerRequest getS3AccountOwnerRequest) throws SdkClientException, AmazonServiceException
AmazonS3Gets 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.
 This operation uses the AmazonS3.listBuckets() operation internally, and therefore requires the
 <s3:ListAllMyBuckets (S3Actions.ListBuckets) IAM permission.
 
getS3AccountOwner in interface AmazonS3getS3AccountOwnerRequest - The request object for retrieving the S3 account owner.SdkClientException - 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.AmazonS3.getS3AccountOwner()public boolean doesBucketExist(String bucketName) throws SdkClientException, AmazonServiceException
AmazonS3
 Internally this uses the AmazonS3.headBucket(HeadBucketRequest) operation to determine
 whether the bucket exists.
 
doesBucketExist in interface AmazonS3bucketName - 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.SdkClientException - 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.AmazonS3.createBucket(CreateBucketRequest)public boolean doesBucketExistV2(String bucketName) throws SdkClientException, AmazonServiceException
AmazonS3
 Internally this uses the AmazonS3.getBucketAcl(String) operation to determine
 whether the bucket exists.
 
doesBucketExistV2 in interface AmazonS3bucketName - 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.SdkClientException - 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.AmazonS3.createBucket(CreateBucketRequest)public HeadBucketResult headBucket(HeadBucketRequest headBucketRequest) throws SdkClientException, AmazonServiceException
AmazonS3headBucket in interface AmazonS3headBucketRequest - 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 withSdkClientException - 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.public List<Bucket> listBuckets() throws SdkClientException, AmazonServiceException
AmazonS3Returns 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.
listBuckets in interface AmazonS3SdkClientException - 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.AmazonS3.listBuckets(ListBucketsRequest), 
AWS API Documentationpublic List<Bucket> listBuckets(ListBucketsRequest listBucketsRequest) throws SdkClientException, AmazonServiceException
AmazonS3Returns 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.
listBuckets in interface AmazonS3listBucketsRequest - The request containing all of the options related to the listing
          of buckets.SdkClientException - 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.AmazonS3.listBuckets(), 
AWS API Documentationpublic String getBucketLocation(String bucketName) throws SdkClientException, AmazonServiceException
AmazonS3Gets 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.
 
getBucketLocation in interface AmazonS3bucketName - The name of the Amazon S3 bucket to look up. This must be a
            bucket the user owns.SdkClientException - 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, 
AWS API Documentationpublic String getBucketLocation(GetBucketLocationRequest getBucketLocationRequest) throws SdkClientException, AmazonServiceException
AmazonS3Gets 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.
 
getBucketLocation in interface AmazonS3getBucketLocationRequest - The request object containing the name of the Amazon S3
            bucket to look up. This must be a bucket the user owns.SdkClientException - 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, 
AWS API Documentationpublic Bucket createBucket(CreateBucketRequest createBucketRequest) throws SdkClientException, AmazonServiceException
AmazonS3
 Creates a new Amazon S3 bucket in the region that the client was created
 in. If no region or AWS S3 endpoint was specified when creating the client,
 the bucket will be created within the default (US) region, Region.US_Standard
 or the region that was specified within the CreateBucketRequest.region field.
 
 Requests that specify a region using the CreateBucketRequest.setRegion(String)
 method or through either constructor that allows passing in the region will return an
 error if the client is not configured to use the default (US) region, Region.US_Standard
 or the same region that is specified in the request.
 
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.
createBucket in interface AmazonS3createBucketRequest - The request object containing all options for creating an Amazon S3
            bucket.SdkClientException - 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.public Bucket createBucket(String bucketName) throws SdkClientException, AmazonServiceException
AmazonS3
 Creates a new Amazon S3 bucket with the specified name in the region
 that the client was created in. If no region or AWS S3 endpoint was specified
 when creating the client, the bucket will be created within 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.
createBucket in interface AmazonS3bucketName - The name of the bucket to create.
            All buckets in Amazon S3 share a single namespace;
            ensure the bucket is given a unique name.SdkClientException - 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.public Bucket createBucket(String bucketName, Region region) throws SdkClientException, AmazonServiceException
AmazonS3Creates 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.
createBucket in interface AmazonS3bucketName - The name of the bucket to create.region - The Amazon S3 region in which to create the new bucket.SdkClientException - 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, 
AWS API Documentationpublic Bucket createBucket(String bucketName, String region) throws SdkClientException, AmazonServiceException
AmazonS3
 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 AmazonS3.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.
createBucket in interface AmazonS3bucketName - The name of the bucket to create.region - The Amazon S3 region in which to create the new bucket.SdkClientException - 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, 
AWS API Documentationpublic AccessControlList getObjectAcl(String bucketName, String key) throws SdkClientException, AmazonServiceException
AmazonS3
 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.
getObjectAcl in interface AmazonS3bucketName - 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.SdkClientException - 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.AmazonS3.getObjectAcl(String, String, String), 
AWS API Documentationpublic AccessControlList getObjectAcl(String bucketName, String key, String versionId) throws SdkClientException, AmazonServiceException
AmazonS3
 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
 AmazonS3.setBucketVersioningConfiguration(SetBucketVersioningConfigurationRequest).
 
getObjectAcl in interface AmazonS3bucketName - 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.SdkClientException - 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.AmazonS3.getObjectAcl(String, String), 
AWS API Documentationpublic AccessControlList getObjectAcl(GetObjectAclRequest getObjectAclRequest) throws SdkClientException, AmazonServiceException
AmazonS3
 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.
getObjectAcl in interface AmazonS3getObjectAclRequest - the request object containing all the information needed for retrieving
            the object ACL.AccessControlList for the specified Amazon S3 object.SdkClientException - 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.AmazonS3.getObjectAcl(String, String, String), 
AWS API Documentationpublic void setObjectAcl(String bucketName, String key, AccessControlList acl) throws SdkClientException, AmazonServiceException
AmazonS3
 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.
 
setObjectAcl in interface AmazonS3bucketName - 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.SdkClientException - 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.AmazonS3.setObjectAcl(String, String, CannedAccessControlList), 
AmazonS3.setObjectAcl(String, String, String, AccessControlList), 
AmazonS3.setObjectAcl(String, String, String, CannedAccessControlList), 
AWS API Documentationpublic void setObjectAcl(String bucketName, String key, CannedAccessControlList acl) throws SdkClientException, AmazonServiceException
AmazonS3
 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.
setObjectAcl in interface AmazonS3bucketName - 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.SdkClientException - 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.AmazonS3.setObjectAcl(String, String, AccessControlList), 
AmazonS3.setObjectAcl(String, String, String, AccessControlList), 
AmazonS3.setObjectAcl(String, String, String, CannedAccessControlList), 
AWS API Documentationpublic void setObjectAcl(String bucketName, String key, String versionId, AccessControlList acl) throws SdkClientException, AmazonServiceException
AmazonS3
 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
 AmazonS3.setBucketVersioningConfiguration(SetBucketVersioningConfigurationRequest).
 
setObjectAcl in interface AmazonS3bucketName - 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.SdkClientException - 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.AmazonS3.setObjectAcl(String, String, AccessControlList), 
AmazonS3.setObjectAcl(String, String, CannedAccessControlList), 
AmazonS3.setObjectAcl(String, String, String, CannedAccessControlList), 
AWS API Documentationpublic void setObjectAcl(String bucketName, String key, String versionId, CannedAccessControlList acl) throws SdkClientException, AmazonServiceException
AmazonS3
 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
 AmazonS3.setBucketVersioningConfiguration(SetBucketVersioningConfigurationRequest).
 
setObjectAcl in interface AmazonS3bucketName - 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.SdkClientException - 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.AmazonS3.setObjectAcl(String, String, AccessControlList), 
AmazonS3.setObjectAcl(String, String, CannedAccessControlList), 
AmazonS3.setObjectAcl(String, String, String, AccessControlList), 
AWS API Documentationpublic void setObjectAcl(SetObjectAclRequest setObjectAclRequest) throws SdkClientException, AmazonServiceException
AmazonS3AccessControlList 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.
setObjectAcl in interface AmazonS3setObjectAclRequest - The request object containing the S3 object to modify and the
            ACL to set.SdkClientException - 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.public AccessControlList getBucketAcl(String bucketName) throws SdkClientException, AmazonServiceException
AmazonS3
 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.
getBucketAcl in interface AmazonS3bucketName - The name of the bucket whose ACL is being retrieved.AccessControlList for the specified S3 bucket.SdkClientException - 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.public AccessControlList getBucketAcl(GetBucketAclRequest getBucketAclRequest) throws SdkClientException, AmazonServiceException
AmazonS3AccessControlList (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.
getBucketAcl in interface AmazonS3getBucketAclRequest - The request containing the name of the bucket whose ACL is
            being retrieved.AccessControlList for the specified S3 bucket.SdkClientException - 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.public void setBucketAcl(String bucketName, AccessControlList acl) throws SdkClientException, AmazonServiceException
AmazonS3
 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.
setBucketAcl in interface AmazonS3bucketName - The name of the bucket whose ACL is being set.acl - The new AccessControlList for the specified bucket.SdkClientException - 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.AmazonS3.setBucketAcl(String, CannedAccessControlList), 
AWS API Documentationpublic void setBucketAcl(String bucketName, CannedAccessControlList cannedAcl) throws SdkClientException, AmazonServiceException
AmazonS3
 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.
setBucketAcl in interface AmazonS3bucketName - The name of the bucket whose ACL is being set.cannedAcl - The pre-configured CannedAccessControlLists to set for the
            specified bucket.SdkClientException - 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.AmazonS3.setBucketAcl(String, AccessControlList), 
AWS API Documentationpublic void setBucketAcl(SetBucketAclRequest setBucketAclRequest) throws SdkClientException, AmazonServiceException
AmazonS3AccessControlList 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.
setBucketAcl in interface AmazonS3setBucketAclRequest - The request object containing the bucket to modify and the ACL
            to set.SdkClientException - 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.public ObjectMetadata getObjectMetadata(String bucketName, String key) throws SdkClientException, AmazonServiceException
AmazonS3Gets 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.
getObjectMetadata in interface AmazonS3bucketName - 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.SdkClientException - 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.AmazonS3.getObjectMetadata(GetObjectMetadataRequest), 
AWS API Documentationpublic ObjectMetadata getObjectMetadata(GetObjectMetadataRequest getObjectMetadataRequest) throws SdkClientException, AmazonServiceException
AmazonS3Gets 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
 AmazonS3.setBucketVersioningConfiguration(SetBucketVersioningConfigurationRequest).
 
getObjectMetadata in interface AmazonS3getObjectMetadataRequest - The request object specifying the bucket, key and optional
            version ID of the object whose metadata is being retrieved.SdkClientException - 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.AmazonS3.getObjectMetadata(String, String), 
AWS API Documentationpublic S3Object getObject(String bucketName, String key) throws SdkClientException, AmazonServiceException
AmazonS3Gets 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 reused until the user finishes reading the data and closes the stream. Also note that if not all data is read from the stream then the SDK will abort the underlying connection, this may have a negative impact on performance. Therefore:
GetObjectRequest.setRange(long, long) to request only the bytes you need)
 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 AmazonS3.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
 If the object you are retrieving is stored in the S3 Glacier, S3 Glacier Deep Archive,
 S3 Intelligent-Tiering Archive, or S3 Intelligent-Tiering Deep Archive storage classes,
 before you can retrieve the object you must first restore a copy using
 RestoreObject. Otherwise,
 this operation returns an InvalidObjectStateError error. For information aboutrestoring archived objects,
 see Restoring Archived Objects.
 
getObject in interface AmazonS3bucketName - The name of the bucket containing the desired object.key - The key under which the desired object is stored.SdkClientException - 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.AmazonS3.getObject(GetObjectRequest), 
AmazonS3.getObject(GetObjectRequest, File), 
AWS API Documentationpublic S3Object getObject(GetObjectRequest getObjectRequest) throws SdkClientException, AmazonServiceException
AmazonS3
 Gets the object stored in Amazon S3 under the specified bucket and
 key.
 Returns null if the specified constraints weren't met.
 
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 reused until the user finishes reading the data and closes the stream. Also note that if not all data is read from the stream then the SDK will abort the underlying connection, this may have a negative impact on performance. Therefore:
GetObjectRequest.setRange(long, long) to request only the bytes you need)
 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 AmazonS3.getObject(String bucketName, String key) method.
 
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
 If the object you are retrieving is stored in the S3 Glacier, S3 Glacier Deep Archive,
 S3 Intelligent-Tiering Archive, or S3 Intelligent-Tiering Deep Archive storage classes,
 before you can retrieve the object you must first restore a copy using
 RestoreObject. Otherwise,
 this operation returns an InvalidObjectStateError error. For information aboutrestoring archived objects,
 see Restoring Archived Objects.
 
getObject in interface AmazonS3getObject in interface S3DirectSpigetObjectRequest - The request object containing all the options on how to
            download the object.null if constraints were specified but not met.SdkClientException - 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.AmazonS3.getObject(String, String), 
AmazonS3.getObject(GetObjectRequest, File), 
AWS API Documentationpublic ObjectMetadata getObject(GetObjectRequest getObjectRequest, File destinationFile) throws SdkClientException, AmazonServiceException
AmazonS3
 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 AmazonS3.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 AmazonS3getObject in interface S3DirectSpigetObjectRequest - 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.SdkClientException - 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.AmazonS3.getObject(String, String), 
AmazonS3.getObject(GetObjectRequest), 
AWS API Documentationpublic String getObjectAsString(String bucketName, String key) throws AmazonServiceException, SdkClientException
AmazonS3Retrieves and decodes the contents of an S3 object to a String.
getObjectAsString in interface AmazonS3bucketName - The name of the bucket containing the object to retrieve.key - The key of the object to retrieve.AmazonServiceExceptionSdkClientExceptionpublic GetObjectTaggingResult getObjectTagging(GetObjectTaggingRequest objectTaggingRequest)
AmazonS3getObjectTagging in interface AmazonS3objectTaggingRequest - The request object containing all the options on how to
            retrieve the Amazon S3 object tags.public SetObjectTaggingResult setObjectTagging(SetObjectTaggingRequest setObjectTaggingRequest)
AmazonS3setObjectTagging in interface AmazonS3setObjectTaggingRequest - The request object containing all the options for setting the
            tags for the specified object.public DeleteObjectTaggingResult deleteObjectTagging(DeleteObjectTaggingRequest deleteObjectTaggingRequest)
AmazonS3deleteObjectTagging in interface AmazonS3deleteObjectTaggingRequest - 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.public void deleteBucket(String bucketName) throws SdkClientException, AmazonServiceException
AmazonS3Deletes 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.
deleteBucket in interface AmazonS3bucketName - The name of the bucket to delete.SdkClientException - 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.AmazonS3.deleteBucket(String), 
AWS API Documentationpublic void deleteBucket(DeleteBucketRequest deleteBucketRequest) throws SdkClientException, AmazonServiceException
AmazonS3Deletes 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).
deleteBucket in interface AmazonS3deleteBucketRequest - The request object containing all options for deleting an Amazon S3
            bucket.SdkClientException - 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.AmazonS3.deleteBucket(String), 
AWS API Documentationpublic PutObjectResult putObject(String bucketName, String key, File file) throws SdkClientException, AmazonServiceException
AmazonS3Uploads 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
The client automatically computes a checksum of the file. Amazon S3 uses checksums to validate the data in each file.
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 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
 AmazonS3.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.
 
putObject in interface AmazonS3bucketName - 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.SdkClientException - 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.AmazonS3.putObject(PutObjectRequest), 
AmazonS3.putObject(String, String, InputStream, ObjectMetadata), 
AWS API Documentationpublic PutObjectResult putObject(String bucketName, String key, InputStream input, ObjectMetadata metadata) throws SdkClientException, AmazonServiceException
AmazonS3Uploads 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
The client automatically computes a checksum of the file. This checksum is verified against another checksum that is calculated once the data reaches Amazon S3, ensuring the data has not corrupted in transit over the network.
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 make a best effort to compute the content length by buffer the contents of the input stream into the memory because Amazon S3 explicitly requires that the content length be sent in the request headers before any of the data is sent. Please note that this operation is not guaranteed to succeed.
 When using an BufferedInputStream as data source,
 please remember to use a buffer of size no less than
 RequestClientOptions.DEFAULT_STREAM_BUFFER_SIZE
 while initializing the BufferedInputStream.
 This is to ensure that the SDK can correctly mark and reset the stream with
 enough memory buffer during signing and retries.
 
 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
 AmazonS3.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.
 
putObject in interface AmazonS3bucketName - 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.SdkClientException - 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.AmazonS3.putObject(String, String, File), 
AmazonS3.putObject(PutObjectRequest), 
AWS API Documentationpublic PutObjectResult putObject(PutObjectRequest putObjectRequest) throws SdkClientException, AmazonServiceException
AmazonS3
 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 AmazonS3.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 AmazonS3putObject in interface S3DirectSpiputObjectRequest - 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.SdkClientException - 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.AmazonS3.putObject(String, String, File), 
AmazonS3.putObject(String, String, InputStream, ObjectMetadata), 
AWS API Documentationpublic PutObjectResult putObject(String bucketName, String key, String content) throws AmazonServiceException, SdkClientException
AmazonS3Encodes a String into the contents of an S3 object.
String will be encoded to bytes with UTF-8 encoding.
putObject in interface AmazonS3bucketName - The name of the bucket to place the new object in.key - The key of the object to create.content - The String to encodeAmazonServiceExceptionSdkClientExceptionpublic CopyObjectResult copyObject(String sourceBucketName, String sourceKey, String destinationBucketName, String destinationKey) throws SdkClientException, AmazonServiceException
AmazonS3Copies 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
copyObject in interface AmazonS3sourceBucketName - 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.SdkClientException - 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), 
AWS API Documentationpublic CopyObjectResult copyObject(CopyObjectRequest copyObjectRequest) throws SdkClientException, AmazonServiceException
AmazonS3Copies 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
copyObject in interface AmazonS3copyObjectRequest - 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.SdkClientException - 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), 
AWS API Documentationpublic CopyPartResult copyPart(CopyPartRequest copyPartRequest) throws SdkClientException, AmazonServiceException
AmazonS3
 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 AmazonS3copyPart in interface S3DirectSpicopyPartRequest - 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.SdkClientException - 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), 
AWS API Documentationpublic void deleteObject(String bucketName, String key) throws SdkClientException, AmazonServiceException
AmazonS3Deletes 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.
deleteObject in interface AmazonS3bucketName - The name of the Amazon S3 bucket containing the object to
            delete.key - The key of the object to delete.SdkClientException - 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), 
AWS API Documentationpublic void deleteObject(DeleteObjectRequest deleteObjectRequest) throws SdkClientException, AmazonServiceException
AmazonS3Deletes 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.
deleteObject in interface AmazonS3deleteObjectRequest - The request object containing all options for deleting an Amazon S3
            object.SdkClientException - 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), 
AWS API Documentationpublic DeleteObjectsResult deleteObjects(DeleteObjectsRequest deleteObjectsRequest) throws SdkClientException, AmazonServiceException
AmazonS3
 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.
deleteObjects in interface AmazonS3deleteObjectsRequest - The request object containing all options for deleting
            multiple objects.MultiObjectDeleteException - if one or more of the objects couldn't be deleted.SdkClientException - 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.public void deleteVersion(String bucketName, String key, String versionId) throws SdkClientException, AmazonServiceException
AmazonS3Deletes 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
 AmazonS3.setBucketVersioningConfiguration(SetBucketVersioningConfigurationRequest).
 
If attempting to delete an object that does not exist, Amazon S3 will return a success message instead of an error message.
deleteVersion in interface AmazonS3bucketName - 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.SdkClientException - 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.public void deleteVersion(DeleteVersionRequest deleteVersionRequest) throws SdkClientException, AmazonServiceException
AmazonS3Deletes 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
 AmazonS3.setBucketVersioningConfiguration(SetBucketVersioningConfigurationRequest).
 
If attempting to delete an object that does not exist, Amazon S3 will return a success message instead of an error message.
deleteVersion in interface AmazonS3deleteVersionRequest - The request object containing all options for deleting a
            specific version of an Amazon S3 object.SdkClientException - 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.public BucketLoggingConfiguration getBucketLoggingConfiguration(String bucketName) throws SdkClientException, AmazonServiceException
AmazonS3Gets 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.
getBucketLoggingConfiguration in interface AmazonS3bucketName - The name of the bucket whose bucket logging configuration is
            being retrieved.SdkClientException - 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.AmazonS3.setBucketLoggingConfiguration(SetBucketLoggingConfigurationRequest), 
AmazonS3.getBucketLoggingConfiguration(GetBucketLoggingConfigurationRequest), 
AWS API Documentationpublic BucketLoggingConfiguration getBucketLoggingConfiguration(GetBucketLoggingConfigurationRequest getBucketLoggingConfigurationRequest) throws SdkClientException, AmazonServiceException
AmazonS3Gets 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.
getBucketLoggingConfiguration in interface AmazonS3getBucketLoggingConfigurationRequest - The request object for retrieving the bucket logging
            configuration.SdkClientException - 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}AmazonS3.setBucketLoggingConfiguration(SetBucketLoggingConfigurationRequest), 
AmazonS3.getBucketLoggingConfiguration(String), 
AWS API Documentationpublic void setBucketLoggingConfiguration(SetBucketLoggingConfigurationRequest setBucketLoggingConfigurationRequest) throws SdkClientException, AmazonServiceException
AmazonS3Sets 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.
setBucketLoggingConfiguration in interface AmazonS3setBucketLoggingConfigurationRequest - The request object containing all options for setting the
            bucket logging configuration.SdkClientException - 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.AmazonS3.getBucketLoggingConfiguration(String), 
AWS API Documentationpublic BucketVersioningConfiguration getBucketVersioningConfiguration(String bucketName) throws SdkClientException, AmazonServiceException
AmazonS3Returns 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.
getBucketVersioningConfiguration in interface AmazonS3bucketName - The bucket whose versioning configuration will be retrieved.SdkClientException - 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.AmazonS3.setBucketVersioningConfiguration(SetBucketVersioningConfigurationRequest), 
AmazonS3.getBucketVersioningConfiguration(GetBucketVersioningConfigurationRequest), 
AWS API Documentationpublic BucketVersioningConfiguration getBucketVersioningConfiguration(GetBucketVersioningConfigurationRequest getBucketVersioningConfigurationRequest) throws SdkClientException, AmazonServiceException
AmazonS3Returns 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.
getBucketVersioningConfiguration in interface AmazonS3getBucketVersioningConfigurationRequest - The request object for retrieving the bucket versioning configuration.SdkClientException - 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.AmazonS3.setBucketVersioningConfiguration(SetBucketVersioningConfigurationRequest), 
AmazonS3.getBucketVersioningConfiguration(String), 
AWS API Documentationpublic void setBucketVersioningConfiguration(SetBucketVersioningConfigurationRequest setBucketVersioningConfigurationRequest) throws SdkClientException, AmazonServiceException
AmazonS3Sets 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.
setBucketVersioningConfiguration in interface AmazonS3setBucketVersioningConfigurationRequest - The request object containing all options for setting the
            bucket versioning configuration.SdkClientException - 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.AmazonS3.getBucketVersioningConfiguration(String), 
AWS API Documentationpublic BucketLifecycleConfiguration getBucketLifecycleConfiguration(String bucketName)
AmazonS3getBucketLifecycleConfiguration in interface AmazonS3bucketName - The name of the bucket for which to retrieve lifecycle
            configuration.AmazonS3.getBucketLifecycleConfiguration(GetBucketLifecycleConfigurationRequest), 
AWS API Documentationpublic BucketLifecycleConfiguration getBucketLifecycleConfiguration(GetBucketLifecycleConfigurationRequest getBucketLifecycleConfigurationRequest)
AmazonS3getBucketLifecycleConfiguration in interface AmazonS3getBucketLifecycleConfigurationRequest - The request object for retrieving the bucket lifecycle
            configuration.AmazonS3.getBucketLifecycleConfiguration(String), 
AWS API Documentationpublic void setBucketLifecycleConfiguration(String bucketName, BucketLifecycleConfiguration bucketLifecycleConfiguration)
AmazonS3setBucketLifecycleConfiguration in interface AmazonS3bucketName - 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.public void setBucketLifecycleConfiguration(SetBucketLifecycleConfigurationRequest setBucketLifecycleConfigurationRequest)
AmazonS3setBucketLifecycleConfiguration in interface AmazonS3setBucketLifecycleConfigurationRequest - The request object containing all options for setting the
            bucket lifecycle configuration.public void deleteBucketLifecycleConfiguration(String bucketName)
AmazonS3deleteBucketLifecycleConfiguration in interface AmazonS3bucketName - The name of the bucket for which to remove the lifecycle
            configuration.public void deleteBucketLifecycleConfiguration(DeleteBucketLifecycleConfigurationRequest deleteBucketLifecycleConfigurationRequest)
AmazonS3deleteBucketLifecycleConfiguration in interface AmazonS3deleteBucketLifecycleConfigurationRequest - The request object containing all options for removing the
            bucket lifecycle configuration.public BucketCrossOriginConfiguration getBucketCrossOriginConfiguration(String bucketName)
AmazonS3getBucketCrossOriginConfiguration in interface AmazonS3bucketName - The name of the bucket for which to retrieve cross origin
            configuration.AmazonS3.getBucketCrossOriginConfiguration(GetBucketCrossOriginConfigurationRequest), 
AWS API Documentationpublic BucketCrossOriginConfiguration getBucketCrossOriginConfiguration(GetBucketCrossOriginConfigurationRequest getBucketCrossOriginConfigurationRequest)
AmazonS3getBucketCrossOriginConfiguration in interface AmazonS3getBucketCrossOriginConfigurationRequest - The request object for retrieving the bucket cross origin
            configuration.AmazonS3.getBucketCrossOriginConfiguration(String), 
AWS API Documentationpublic void setBucketCrossOriginConfiguration(String bucketName, BucketCrossOriginConfiguration bucketCrossOriginConfiguration)
AmazonS3setBucketCrossOriginConfiguration in interface AmazonS3bucketName - 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.public void setBucketCrossOriginConfiguration(SetBucketCrossOriginConfigurationRequest setBucketCrossOriginConfigurationRequest)
AmazonS3setBucketCrossOriginConfiguration in interface AmazonS3setBucketCrossOriginConfigurationRequest - The request object containing all options for setting the
            bucket cross origin configuration.public void deleteBucketCrossOriginConfiguration(String bucketName)
AmazonS3deleteBucketCrossOriginConfiguration in interface AmazonS3bucketName - The name of the bucket for which to retrieve cross origin
            configuration.public void deleteBucketCrossOriginConfiguration(DeleteBucketCrossOriginConfigurationRequest deleteBucketCrossOriginConfigurationRequest)
AmazonS3deleteBucketCrossOriginConfiguration in interface AmazonS3deleteBucketCrossOriginConfigurationRequest - The request object containing all options for deleting the
            bucket cross origin configuration.public BucketTaggingConfiguration getBucketTaggingConfiguration(String bucketName)
AmazonS3getBucketTaggingConfiguration in interface AmazonS3bucketName - The name of the bucket for which to retrieve tagging
            configuration.AmazonS3.getBucketTaggingConfiguration(GetBucketTaggingConfigurationRequest), 
AWS API Documentationpublic BucketTaggingConfiguration getBucketTaggingConfiguration(GetBucketTaggingConfigurationRequest getBucketTaggingConfigurationRequest)
AmazonS3getBucketTaggingConfiguration in interface AmazonS3getBucketTaggingConfigurationRequest - The request object for retrieving the bucket tagging
            configuration.AmazonS3.getBucketTaggingConfiguration(String), 
AWS API Documentationpublic void setBucketTaggingConfiguration(String bucketName, BucketTaggingConfiguration bucketTaggingConfiguration)
AmazonS3setBucketTaggingConfiguration in interface AmazonS3bucketName - 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.public void setBucketTaggingConfiguration(SetBucketTaggingConfigurationRequest setBucketTaggingConfigurationRequest)
AmazonS3setBucketTaggingConfiguration in interface AmazonS3setBucketTaggingConfigurationRequest - The request object containing all options for setting the
            bucket tagging configuration.public void deleteBucketTaggingConfiguration(String bucketName)
AmazonS3deleteBucketTaggingConfiguration in interface AmazonS3bucketName - The name of the bucket for which to remove the tagging
            configuration.public void deleteBucketTaggingConfiguration(DeleteBucketTaggingConfigurationRequest deleteBucketTaggingConfigurationRequest)
AmazonS3deleteBucketTaggingConfiguration in interface AmazonS3deleteBucketTaggingConfigurationRequest - The request object containing all options for removing the
            bucket tagging configuration.public BucketNotificationConfiguration getBucketNotificationConfiguration(String bucketName) throws SdkClientException, AmazonServiceException
AmazonS3By 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.
getBucketNotificationConfiguration in interface AmazonS3bucketName - The bucket whose notification configuration will be retrieved.SdkClientException - 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.AmazonS3.getBucketNotificationConfiguration(GetBucketNotificationConfigurationRequest), 
AWS API Documentationpublic BucketNotificationConfiguration getBucketNotificationConfiguration(GetBucketNotificationConfigurationRequest getBucketNotificationConfigurationRequest) throws SdkClientException, AmazonServiceException
AmazonS3By 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.
getBucketNotificationConfiguration in interface AmazonS3getBucketNotificationConfigurationRequest - The request object for retrieving the bucket notification configuration.SdkClientException - 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.AmazonS3.getBucketNotificationConfiguration(String), 
AWS API Documentationpublic void setBucketNotificationConfiguration(String bucketName, BucketNotificationConfiguration bucketNotificationConfiguration) throws SdkClientException, AmazonServiceException
AmazonS3By 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.
setBucketNotificationConfiguration in interface AmazonS3bucketName - 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.SdkClientException - 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.public void setBucketNotificationConfiguration(SetBucketNotificationConfigurationRequest setBucketNotificationConfigurationRequest) throws SdkClientException, AmazonServiceException
AmazonS3By 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.
setBucketNotificationConfiguration in interface AmazonS3setBucketNotificationConfigurationRequest - The request object containing all options for setting the
            bucket notification configuration.SdkClientException - 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.public BucketWebsiteConfiguration getBucketWebsiteConfiguration(String bucketName) throws SdkClientException, AmazonServiceException
AmazonS3For 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.
getBucketWebsiteConfiguration in interface AmazonS3bucketName - The name of the bucket whose website configuration is being
            retrieved.SdkClientException - 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.public BucketWebsiteConfiguration getBucketWebsiteConfiguration(GetBucketWebsiteConfigurationRequest getBucketWebsiteConfigurationRequest) throws SdkClientException, AmazonServiceException
AmazonS3For 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.
getBucketWebsiteConfiguration in interface AmazonS3getBucketWebsiteConfigurationRequest - The request object for retrieving the bucket website configuration.SdkClientException - 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.public void setBucketWebsiteConfiguration(String bucketName, BucketWebsiteConfiguration configuration) throws SdkClientException, AmazonServiceException
AmazonS3For 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.
setBucketWebsiteConfiguration in interface AmazonS3bucketName - 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).SdkClientException - 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.public void setBucketWebsiteConfiguration(SetBucketWebsiteConfigurationRequest setBucketWebsiteConfigurationRequest) throws SdkClientException, AmazonServiceException
AmazonS3For 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.
setBucketWebsiteConfiguration in interface AmazonS3setBucketWebsiteConfigurationRequest - The request object containing the name of the bucket whose
            website configuration is being updated, and the new website
            configuration values.SdkClientException - 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.public void deleteBucketWebsiteConfiguration(String bucketName) throws SdkClientException, AmazonServiceException
AmazonS3For 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.
deleteBucketWebsiteConfiguration in interface AmazonS3bucketName - The name of the bucket whose website configuration is being
            deleted.SdkClientException - 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.public void deleteBucketWebsiteConfiguration(DeleteBucketWebsiteConfigurationRequest deleteBucketWebsiteConfigurationRequest) throws SdkClientException, AmazonServiceException
AmazonS3For 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.
deleteBucketWebsiteConfiguration in interface AmazonS3deleteBucketWebsiteConfigurationRequest - The request object specifying the name of the bucket whose
            website configuration is to be deleted.SdkClientException - 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.public BucketPolicy getBucketPolicy(String bucketName) throws SdkClientException, AmazonServiceException
AmazonS3
 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.
getBucketPolicy in interface AmazonS3bucketName - The name of the Amazon S3 bucket whose policy is being
            retrieved.SdkClientException - 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.AmazonS3.setBucketPolicy(String, String), 
AWS API Documentationpublic BucketPolicy getBucketPolicy(GetBucketPolicyRequest getBucketPolicyRequest) throws SdkClientException, AmazonServiceException
AmazonS3
 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.
getBucketPolicy in interface AmazonS3getBucketPolicyRequest - The request object containing all of the details for
            retreiving a bucket's policy.SdkClientException - 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.AmazonS3.setBucketPolicy(String, String), 
AWS API Documentationpublic void setBucketPolicy(String bucketName, String policyText) throws SdkClientException, AmazonServiceException
AmazonS3Sets 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.
setBucketPolicy in interface AmazonS3bucketName - The name of the Amazon S3 bucket whose policy is being set.policyText - The policy to apply to the specified bucket.SdkClientException - 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.public void setBucketPolicy(SetBucketPolicyRequest setBucketPolicyRequest) throws SdkClientException, AmazonServiceException
AmazonS3Sets 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.
setBucketPolicy in interface AmazonS3setBucketPolicyRequest - The request object containing the details of the bucket and
            policy to update.SdkClientException - 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.public void deleteBucketPolicy(String bucketName) throws SdkClientException, AmazonServiceException
AmazonS3Deletes 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.
deleteBucketPolicy in interface AmazonS3bucketName - The name of the Amazon S3 bucket whose policy is being
            deleted.SdkClientException - 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.public void deleteBucketPolicy(DeleteBucketPolicyRequest deleteBucketPolicyRequest) throws SdkClientException, AmazonServiceException
AmazonS3Deletes 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.
deleteBucketPolicy in interface AmazonS3deleteBucketPolicyRequest - The request object containing all the details for deleting a
            bucket's policy.SdkClientException - 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.public URL generatePresignedUrl(String bucketName, String key, Date expiration) throws SdkClientException
AmazonS3Returns 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
generatePresignedUrl in interface AmazonS3bucketName - 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.SdkClientException - If there were any problems pre-signing the request for the
             specified S3 object.AmazonS3.generatePresignedUrl(String, String, Date, HttpMethod), 
AmazonS3.generatePresignedUrl(GeneratePresignedUrlRequest)public URL generatePresignedUrl(String bucketName, String key, Date expiration, HttpMethod method) throws SdkClientException
AmazonS3Returns 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
generatePresignedUrl in interface AmazonS3bucketName - 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 URLSdkClientException - If there were any problems pre-signing the request for the
             specified S3 object.AmazonS3.generatePresignedUrl(String, String, Date), 
AmazonS3.generatePresignedUrl(GeneratePresignedUrlRequest)public URL generatePresignedUrl(GeneratePresignedUrlRequest generatePresignedUrlRequest) throws SdkClientException
AmazonS3Returns 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
generatePresignedUrl in interface AmazonS3generatePresignedUrlRequest - The request object containing all the options for generating a
            pre-signed URL (bucket name, key, expiration date, etc).SdkClientException - If there were any problems pre-signing the request for the
             Amazon S3 resource.AmazonS3.generatePresignedUrl(String, String, Date), 
AmazonS3.generatePresignedUrl(String, String, Date, HttpMethod)public InitiateMultipartUploadResult initiateMultipartUpload(InitiateMultipartUploadRequest request) throws SdkClientException, AmazonServiceException
AmazonS3AmazonS3.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 AmazonS3initiateMultipartUpload in interface S3DirectSpirequest - The InitiateMultipartUploadRequest object that specifies all
            the parameters of this operation.SdkClientException - 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.public UploadPartResult uploadPart(UploadPartRequest request) throws SdkClientException, AmazonServiceException
AmazonS3Your UploadPart request must include an upload ID, a part number and part size. 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. Note: if part size is not specified, 0 will be used and could cause unexpected results.
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
 When supplying an InputStream using UploadPartRequest.withInputStream(InputStream) or UploadPartRequest.setInputStream(InputStream), the stream will only be
 closed by the client if UploadPartRequest.isLastPart() is true. If this is not the last part, the stream will be left open.
 
uploadPart in interface AmazonS3uploadPart in interface S3DirectSpirequest - The UploadPartRequest object that specifies all the parameters
            of this operation.SdkClientException - 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.public PartListing listParts(ListPartsRequest request) throws SdkClientException, AmazonServiceException
AmazonS3
 This method must include the upload ID, returned by the
 AmazonS3.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.
listParts in interface AmazonS3request - The ListPartsRequest object that specifies all the parameters
            of this operation.SdkClientException - 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.public void abortMultipartUpload(AbortMultipartUploadRequest request) throws SdkClientException, AmazonServiceException
AmazonS3abortMultipartUpload in interface AmazonS3abortMultipartUpload in interface S3DirectSpirequest - The AbortMultipartUploadRequest object that specifies all the
            parameters of this operation.SdkClientException - 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.public CompleteMultipartUploadResult completeMultipartUpload(CompleteMultipartUploadRequest request) throws SdkClientException, AmazonServiceException
AmazonS3
 You first upload all parts using the
 AmazonS3.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 AmazonS3completeMultipartUpload in interface S3DirectSpirequest - The CompleteMultipartUploadRequest object that specifies all
            the parameters of this operation.SdkClientException - 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.public MultipartUploadListing listMultipartUploads(ListMultipartUploadsRequest request) throws SdkClientException, AmazonServiceException
AmazonS3This 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.
listMultipartUploads in interface AmazonS3request - The ListMultipartUploadsRequest object that specifies all the
            parameters of this operation.SdkClientException - 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.public S3ResponseMetadata getCachedResponseMetadata(AmazonWebServiceRequest request)
AmazonS3Response 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.
getCachedResponseMetadata in interface AmazonS3request - The originally executed request.null if none is available.public void restoreObject(String bucketName, String key, int expirationInDays) throws AmazonServiceException
AmazonS3restoreObject in interface AmazonS3bucketName - 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.restoreObjectV2(RestoreObjectRequest)public void restoreObject(RestoreObjectRequest request) throws AmazonServiceException
AmazonS3restoreObject in interface AmazonS3request - 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)public RestoreObjectResult restoreObjectV2(RestoreObjectRequest request) throws AmazonServiceException
AmazonS3Restores an archived copy of an object back into Amazon S3
This action is not supported by Amazon S3 on Outposts.
This action performs the following types of requests:
 select - Perform a select query on an archived object
 
 restore an archive - Restore an archived object
 
 To use this operation, you must have permissions to perform the s3:RestoreObject action. The bucket
 owner has this permission by default and can grant this permission to others. For more information about
 permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your
 Amazon S3 Resources in the Amazon Simple Storage Service Developer Guide.
 
Querying Archives with Select Requests
You use a select type of request to perform SQL queries on archived objects. The archived objects that are being queried by the select request must be formatted as uncompressed comma-separated values (CSV) files. You can run queries and custom analytics on your archived data without having to restore your data to a hotter Amazon S3 tier. For an overview about select requests, see Querying Archived Objects in the Amazon Simple Storage Service Developer Guide.
When making a select request, do the following:
Define an output location for the select query's output. This must be an Amazon S3 bucket in the same AWS Region as the bucket that contains the archive object that is being queried. The AWS account that initiates the job must have permissions to write to the S3 bucket. You can specify the storage class and encryption for the output objects stored in the bucket. For more information about output, see Querying Archived Objects in the Amazon Simple Storage Service Developer Guide.
 For more information about the S3 structure in the request body, see the following:
 
Managing Access with ACLs in the Amazon Simple Storage Service Developer Guide
Protecting Data Using Server-Side Encryption in the Amazon Simple Storage Service Developer Guide
 Define the SQL expression for the SELECT type of restoration for your query in the request body's
 SelectParameters structure. You can use expressions like the following examples.
 
The following expression returns all records from the specified object.
 SELECT * FROM Object
 
Assuming that you are not using any headers for data stored in the object, you can specify columns with positional headers.
 SELECT s._1, s._2 FROM Object s WHERE s._3 > 100
 
 If you have headers and you set the fileHeaderInfo in the CSV structure in the request
 body to USE, you can specify headers in the query. (If you set the fileHeaderInfo field
 to IGNORE, the first row is skipped for the query.) You cannot mix ordinal positions with header
 column names.
 
 SELECT s.Id, s.FirstName, s.SSN FROM S3Object s
 
For more information about using SQL with S3 Glacier Select restore, see SQL Reference for Amazon S3 Select and S3 Glacier Select in the Amazon Simple Storage Service Developer Guide.
When making a select request, you can also do the following:
 To expedite your queries, specify the Expedited tier. For more information about tiers, see
 "Restoring Archives," later in this topic.
 
Specify details about the data serialization format of both the input object that is being queried and the serialization of the CSV-encoded query results.
The following are additional important facts about the select feature:
The output results are new Amazon S3 objects. Unlike archive retrievals, they are stored until explicitly deleted-manually or through a lifecycle policy.
You can issue more than one select request on the same Amazon S3 object. Amazon S3 doesn't deduplicate requests, so avoid issuing duplicate requests.
 Amazon S3 accepts a select request even if the object has already been restored. A select request doesn’t return
 error response 409.
 
Restoring Archives
Objects in the GLACIER and DEEP_ARCHIVE storage classes are archived. To access an archived object, you must first initiate a restore request. This restores a temporary copy of the archived object. In a restore request, you must specify the number of days that you want the restored copy to exist. After the specified period, Amazon S3 deletes the temporary copy but the object remains archived in the GLACIER or DEEP_ARCHIVE storage class that object was restored from.
To restore a specific object version, you can provide a version ID. If you don't provide a version ID, Amazon S3 restores the current version.
The time it takes restore jobs to finish depends on which storage class the object is being restored from and which data access tier you specify.
 When restoring an archived object (or using a select request), you can specify one of the following data access
 tier options in the Tier element of the request body:
 
  Expedited  - Expedited retrievals allow you to quickly access your data stored in the
 GLACIER storage class when occasional urgent requests for a subset of archives are required. For all but the
 largest archived objects (250 MB+), data accessed using Expedited retrievals are typically made available within
 1–5 minutes. Provisioned capacity ensures that retrieval capacity for Expedited retrievals is available when you
 need it. Expedited retrievals and provisioned capacity are not available for the DEEP_ARCHIVE storage class.
 
  Standard  - S3 Standard retrievals allow you to access any of your archived objects within
 several hours. This is the default option for the GLACIER and DEEP_ARCHIVE retrieval requests that do not specify
 the retrieval option. S3 Standard retrievals typically complete within 3-5 hours from the GLACIER storage class
 and typically complete within 12 hours from the DEEP_ARCHIVE storage class.
 
  Bulk  - Bulk retrievals are Amazon S3 Glacier’s lowest-cost retrieval option, enabling you
 to retrieve large amounts, even petabytes, of data inexpensively in a day. Bulk retrievals typically complete
 within 5-12 hours from the GLACIER storage class and typically complete within 48 hours from the DEEP_ARCHIVE
 storage class.
 
 For more information about archive retrieval options and provisioned capacity for Expedited data
 access, see Restoring Archived
 Objects in the Amazon Simple Storage Service Developer Guide.
 
 You can use Amazon S3 restore speed upgrade to change the restore speed to a faster speed while it is in
 progress. You upgrade the speed of an in-progress restoration by issuing another restore request to the same
 object, setting a new Tier request element. When issuing a request to upgrade the restore tier, you
 must choose a tier that is faster than the tier that the in-progress restore is using. You must not change any
 other parameters, such as the Days request element. For more information, see  Upgrading the Speed of an In-Progress Restore in the Amazon Simple Storage Service Developer Guide.
 
 To get the status of object restoration, you can send a HEAD request. Operations return the
 x-amz-restore header, which provides information about the restoration status, in the response. You
 can use Amazon S3 event notifications to notify you when a restore is initiated or completed. For more
 information, see Configuring
 Amazon S3 Event Notifications in the Amazon Simple Storage Service Developer Guide.
 
After restoring an archived object, you can update the restoration period by reissuing the request with a new period. Amazon S3 updates the restoration period relative to the current time and charges only for the request-there are no data transfer charges. You cannot update the restoration period when Amazon S3 is actively processing your current restore request for the object.
If your bucket has a lifecycle configuration with a rule that includes an expiration action, the object expiration overrides the life span that you specify in a restore request. For example, if you restore an object copy for 10 days, but the object is scheduled to expire in 3 days, Amazon S3 deletes the object in 3 days. For more information about lifecycle configuration, see PutBucketLifecycleConfiguration and Object Lifecycle Management in Amazon Simple Storage Service Developer Guide.
Responses
 A successful operation returns either the 200 OK or 202 Accepted status code.
 
 If the object copy is not previously restored, then Amazon S3 returns 202 Accepted in the response.
 
 If the object copy is previously restored, Amazon S3 returns 200 OK in the response.
 
Special Errors
Code: RestoreAlreadyInProgress
Cause: Object restore is already in progress. (This error does not apply to SELECT type requests.)
HTTP Status Code: 409 Conflict
SOAP Fault Code Prefix: Client
Code: GlacierExpeditedRetrievalNotAvailable
Cause: S3 Glacier expedited retrievals are currently not available. Try again later. (Returned if there is insufficient capacity to process the Expedited request. This error applies only to Expedited retrievals and not to S3 Standard or Bulk retrievals.)
HTTP Status Code: 503
SOAP Fault Code Prefix: N/A
Related Resources
SQL Reference for Amazon S3 Select and S3 Glacier Select in the Amazon Simple Storage Service Developer Guide
restoreObjectV2 in interface AmazonS3request - 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.restoreObjectV2(RestoreObjectRequest)public void enableRequesterPays(String bucketName) throws AmazonServiceException, SdkClientException
AmazonS3If 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
enableRequesterPays in interface AmazonS3bucketName - The name of the bucket being enabled for Requester Pays.AmazonServiceException - If any errors occurred in Amazon S3 while processing the
             request.SdkClientException - If any errors are encountered in the client while making the
             request or handling the response.AmazonS3.disableRequesterPays(String), 
AmazonS3.isRequesterPaysEnabled(String), 
AWS API Documentationpublic void disableRequesterPays(String bucketName) throws AmazonServiceException, SdkClientException
AmazonS3If 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
disableRequesterPays in interface AmazonS3bucketName - The name of bucket being disabled for Requester Pays.AmazonServiceException - If any errors occurred in Amazon S3 while processing the
             request.SdkClientException - If any errors are encountered in the client while making the
             request or handling the response.AmazonS3.enableRequesterPays(String), 
AmazonS3.isRequesterPaysEnabled(String), 
AWS API Documentationpublic boolean isRequesterPaysEnabled(String bucketName) throws AmazonServiceException, SdkClientException
AmazonS3If 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
isRequesterPaysEnabled in interface AmazonS3bucketName - The name of the bucket being checked for Requester Pays.AmazonServiceException - If any errors occurred in Amazon S3 while processing the
             request.SdkClientException - If any errors are encountered in the client while making the
             request or handling the response.AmazonS3.enableRequesterPays(String), 
AmazonS3.disableRequesterPays(String), 
AWS API Documentationpublic void setRequestPaymentConfiguration(SetRequestPaymentConfigurationRequest request)
AmazonS3If 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
setRequestPaymentConfiguration in interface AmazonS3AmazonS3.enableRequesterPays(String), 
AmazonS3.disableRequesterPays(String), 
AmazonS3.isRequesterPaysEnabled(String), 
AWS API Documentationpublic void setBucketReplicationConfiguration(String bucketName, BucketReplicationConfiguration configuration) throws AmazonServiceException, SdkClientException
AmazonS3Creates a replication configuration or replaces an existing one. For more information, see Replication in the Amazon S3 Developer Guide.
To perform this operation, the user or role performing the operation must have the iam:PassRole permission.
Specify the replication configuration in the request body. In the replication configuration, you provide the name of the destination bucket or buckets where you want Amazon S3 to replicate objects, the IAM role that Amazon S3 can assume to replicate objects on your behalf, and other relevant information.
A replication configuration must include at least one rule, and can contain a maximum of 1,000. Each rule identifies a subset of objects to replicate by filtering the objects in the source bucket. To choose additional subsets of objects to replicate, add a rule for each subset.
 To specify a subset of the objects in the source bucket to apply a replication rule to, add the Filter element as
 a child of the Rule element. You can filter objects based on an object key prefix, one or more object tags, or
 both. When you add the Filter element in the configuration, you must also add the following elements:
 DeleteMarkerReplication, Status, and Priority.
 
If you are using an earlier version of the replication configuration, Amazon S3 handles replication of delete markers differently. For more information, see Backward Compatibility.
For information about enabling versioning on a bucket, see Using Versioning.
By default, a resource owner, in this case the AWS account that created the bucket, can perform this operation. The resource owner can also grant others permissions to perform the operation. For more information about permissions, see Specifying Permissions in a Policy and Managing Access Permissions to Your Amazon S3 Resources.
Handling Replication of Encrypted Objects
 By default, Amazon S3 doesn't replicate objects that are stored at rest using server-side encryption with CMKs
 stored in AWS KMS. To replicate AWS KMS-encrypted objects, add the following:
 SourceSelectionCriteria, SseKmsEncryptedObjects, Status,
 EncryptionConfiguration, and ReplicaKmsKeyID. For information about replication
 configuration, see Replicating
 Objects Created with SSE Using CMKs stored in AWS KMS.
 
 For information on PutBucketReplication errors, see List of
 replication-related error codes
 
 The following operations are related to PutBucketReplication:
 
setBucketReplicationConfiguration in interface AmazonS3AmazonServiceExceptionSdkClientExceptionAmazonS3.setBucketReplicationConfiguration(SetBucketReplicationConfigurationRequest), 
AmazonS3.getBucketReplicationConfiguration(String), 
AmazonS3.deleteBucketReplicationConfiguration(String)public void setBucketReplicationConfiguration(SetBucketReplicationConfigurationRequest setBucketReplicationConfigurationRequest) throws AmazonServiceException, SdkClientException
AmazonS3Creates a replication configuration or replaces an existing one. For more information, see Replication in the Amazon S3 Developer Guide.
To perform this operation, the user or role performing the operation must have the iam:PassRole permission.
Specify the replication configuration in the request body. In the replication configuration, you provide the name of the destination bucket or buckets where you want Amazon S3 to replicate objects, the IAM role that Amazon S3 can assume to replicate objects on your behalf, and other relevant information.
A replication configuration must include at least one rule, and can contain a maximum of 1,000. Each rule identifies a subset of objects to replicate by filtering the objects in the source bucket. To choose additional subsets of objects to replicate, add a rule for each subset.
 To specify a subset of the objects in the source bucket to apply a replication rule to, add the Filter element as
 a child of the Rule element. You can filter objects based on an object key prefix, one or more object tags, or
 both. When you add the Filter element in the configuration, you must also add the following elements:
 DeleteMarkerReplication, Status, and Priority.
 
If you are using an earlier version of the replication configuration, Amazon S3 handles replication of delete markers differently. For more information, see Backward Compatibility.
For information about enabling versioning on a bucket, see Using Versioning.
By default, a resource owner, in this case the AWS account that created the bucket, can perform this operation. The resource owner can also grant others permissions to perform the operation. For more information about permissions, see Specifying Permissions in a Policy and Managing Access Permissions to Your Amazon S3 Resources.
Handling Replication of Encrypted Objects
 By default, Amazon S3 doesn't replicate objects that are stored at rest using server-side encryption with CMKs
 stored in AWS KMS. To replicate AWS KMS-encrypted objects, add the following:
 SourceSelectionCriteria, SseKmsEncryptedObjects, Status,
 EncryptionConfiguration, and ReplicaKmsKeyID. For information about replication
 configuration, see Replicating
 Objects Created with SSE Using CMKs stored in AWS KMS.
 
 For information on PutBucketReplication errors, see List of
 replication-related error codes
 
 The following operations are related to PutBucketReplication:
 
setBucketReplicationConfiguration in interface AmazonS3AmazonServiceExceptionSdkClientExceptionAmazonS3.setBucketReplicationConfiguration(String, BucketReplicationConfiguration), 
AmazonS3.getBucketReplicationConfiguration(String), 
AmazonS3.deleteBucketReplicationConfiguration(String)public BucketReplicationConfiguration getBucketReplicationConfiguration(String bucketName) throws AmazonServiceException, SdkClientException
AmazonS3getBucketReplicationConfiguration in interface AmazonS3bucketName - The bucket name for which the replication configuration is to
            be retrieved.AmazonServiceException - If any errors occurred in Amazon S3 while processing the
             request.SdkClientException - If any errors are encountered in the client while making the
             request or handling the response.AmazonS3.setBucketReplicationConfiguration(String,
      BucketReplicationConfiguration), 
AmazonS3.deleteBucketReplicationConfiguration(String)public BucketReplicationConfiguration getBucketReplicationConfiguration(GetBucketReplicationConfigurationRequest getBucketReplicationConfigurationRequest) throws AmazonServiceException, SdkClientException
AmazonS3getBucketReplicationConfiguration in interface AmazonS3getBucketReplicationConfigurationRequest - The request object for retrieving the bucket replication configuration.AmazonServiceException - If any errors occurred in Amazon S3 while processing the
             request.SdkClientException - If any errors are encountered in the client while making the
             request or handling the response.AmazonS3.setBucketReplicationConfiguration(String,
      BucketReplicationConfiguration), 
AmazonS3.deleteBucketReplicationConfiguration(String)public void deleteBucketReplicationConfiguration(String bucketName) throws AmazonServiceException, SdkClientException
AmazonS3deleteBucketReplicationConfiguration in interface AmazonS3bucketName - The bucket name for which the replication configuration is to
            be deleted.AmazonServiceException - If any errors occurred in Amazon S3 while processing the
             request.SdkClientException - If any errors are encountered in the client while making the
             request or handling the response.AmazonS3.setBucketReplicationConfiguration(String,
      BucketReplicationConfiguration), 
AmazonS3.getBucketReplicationConfiguration(String), 
AmazonS3.deleteBucketReplicationConfiguration(DeleteBucketReplicationConfigurationRequest)public void deleteBucketReplicationConfiguration(DeleteBucketReplicationConfigurationRequest request) throws AmazonServiceException, SdkClientException
AmazonS3deleteBucketReplicationConfiguration in interface AmazonS3request - The request object for delete bucket replication
            configuration.AmazonServiceException - If any errors occurred in Amazon S3 while processing the
             request.SdkClientException - If any errors are encountered in the client while making the
             request or handling the response.AmazonS3.setBucketReplicationConfiguration(String,
      BucketReplicationConfiguration), 
AmazonS3.getBucketReplicationConfiguration(String), 
AmazonS3.deleteBucketReplicationConfiguration(String)public boolean doesObjectExist(String bucketName, String objectName) throws AmazonServiceException, SdkClientException
doesObjectExist in interface AmazonS3bucketName - 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.SdkClientException - If any errors are encountered in the client while making the
             request or handling the response.public BucketAccelerateConfiguration getBucketAccelerateConfiguration(String bucketName) throws AmazonServiceException, SdkClientException
AmazonS3getBucketAccelerateConfiguration in interface AmazonS3bucketName - The name of the bucket whose accelerate configuration is being
            fetched.AmazonServiceException - If any errors occurred in Amazon S3 while processing the
             request.SdkClientException - If any errors are encountered in the client while making the
             request or handling the response.public BucketAccelerateConfiguration getBucketAccelerateConfiguration(GetBucketAccelerateConfigurationRequest getBucketAccelerateConfigurationRequest) throws AmazonServiceException, SdkClientException
AmazonS3getBucketAccelerateConfiguration in interface AmazonS3getBucketAccelerateConfigurationRequest - The request object for retrieving the bucket accelerate
            configuration.AmazonServiceException - If any errors occurred in Amazon S3 while processing the
             request.SdkClientException - If any errors are encountered in the client while making the
             request or handling the response.public void setBucketAccelerateConfiguration(String bucketName, BucketAccelerateConfiguration accelerateConfiguration) throws AmazonServiceException, SdkClientException
AmazonS3setBucketAccelerateConfiguration in interface AmazonS3bucketName - 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.AmazonServiceExceptionSdkClientExceptionpublic void setBucketAccelerateConfiguration(SetBucketAccelerateConfigurationRequest setBucketAccelerateConfigurationRequest) throws AmazonServiceException, SdkClientException
AmazonS3setBucketAccelerateConfiguration in interface AmazonS3setBucketAccelerateConfigurationRequest - The request object containing all options for setting the
            bucket accelerate configuration.AmazonServiceExceptionSdkClientExceptionpublic DeleteBucketMetricsConfigurationResult deleteBucketMetricsConfiguration(String bucketName, String id) throws AmazonServiceException, SdkClientException
AmazonS3deleteBucketMetricsConfiguration in interface AmazonS3bucketName - The name of the bucket from which the metrics configuration is to be deletedid - The ID of the metrics configuration to delete.AmazonServiceExceptionSdkClientExceptionpublic DeleteBucketMetricsConfigurationResult deleteBucketMetricsConfiguration(DeleteBucketMetricsConfigurationRequest deleteBucketMetricsConfigurationRequest) throws AmazonServiceException, SdkClientException
AmazonS3deleteBucketMetricsConfiguration in interface AmazonS3deleteBucketMetricsConfigurationRequest - The request object to delete the metrics configuration.AmazonServiceExceptionSdkClientExceptionpublic GetBucketMetricsConfigurationResult getBucketMetricsConfiguration(String bucketName, String id) throws AmazonServiceException, SdkClientException
AmazonS3getBucketMetricsConfiguration in interface AmazonS3bucketName - The name of the bucket to get the metrics configuration from.id - The ID of the metrics configuration to get.AmazonServiceExceptionSdkClientExceptionpublic GetBucketMetricsConfigurationResult getBucketMetricsConfiguration(GetBucketMetricsConfigurationRequest getBucketMetricsConfigurationRequest) throws AmazonServiceException, SdkClientException
AmazonS3getBucketMetricsConfiguration in interface AmazonS3getBucketMetricsConfigurationRequest - The request object to retrieve the metrics configuration.AmazonServiceExceptionSdkClientExceptionpublic SetBucketMetricsConfigurationResult setBucketMetricsConfiguration(String bucketName, MetricsConfiguration metricsConfiguration) throws AmazonServiceException, SdkClientException
AmazonS3setBucketMetricsConfiguration in interface AmazonS3bucketName - The name of the bucket to set the metrics configuration.metricsConfiguration - The metrics configuration to set.AmazonServiceExceptionSdkClientExceptionpublic SetBucketMetricsConfigurationResult setBucketMetricsConfiguration(SetBucketMetricsConfigurationRequest setBucketMetricsConfigurationRequest) throws AmazonServiceException, SdkClientException
AmazonS3setBucketMetricsConfiguration in interface AmazonS3setBucketMetricsConfigurationRequest - The request object to set the metrics configuration.AmazonServiceExceptionSdkClientExceptionpublic ListBucketMetricsConfigurationsResult listBucketMetricsConfigurations(ListBucketMetricsConfigurationsRequest listBucketMetricsConfigurationsRequest) throws AmazonServiceException, SdkClientException
AmazonS3listBucketMetricsConfigurations in interface AmazonS3listBucketMetricsConfigurationsRequest - The request object to list all the metrics configurations for a bucket.AmazonServiceExceptionSdkClientExceptionpublic DeleteBucketAnalyticsConfigurationResult deleteBucketAnalyticsConfiguration(String bucketName, String id) throws AmazonServiceException, SdkClientException
AmazonS3deleteBucketAnalyticsConfiguration in interface AmazonS3bucketName - The name of the bucket from which the analytics configuration is to be deletedid - The ID of the analytics configuration to delete.AmazonServiceExceptionSdkClientExceptionpublic DeleteBucketAnalyticsConfigurationResult deleteBucketAnalyticsConfiguration(DeleteBucketAnalyticsConfigurationRequest deleteBucketAnalyticsConfigurationRequest) throws AmazonServiceException, SdkClientException
AmazonS3deleteBucketAnalyticsConfiguration in interface AmazonS3deleteBucketAnalyticsConfigurationRequest - The request object to delete the analytics configuration.AmazonServiceExceptionSdkClientExceptionpublic GetBucketAnalyticsConfigurationResult getBucketAnalyticsConfiguration(String bucketName, String id) throws AmazonServiceException, SdkClientException
AmazonS3getBucketAnalyticsConfiguration in interface AmazonS3bucketName - The name of the bucket to get the analytics configuration from.id - The ID of the analytics configuration to get.AmazonServiceExceptionSdkClientExceptionpublic GetBucketAnalyticsConfigurationResult getBucketAnalyticsConfiguration(GetBucketAnalyticsConfigurationRequest getBucketAnalyticsConfigurationRequest) throws AmazonServiceException, SdkClientException
AmazonS3getBucketAnalyticsConfiguration in interface AmazonS3getBucketAnalyticsConfigurationRequest - The request object to retrieve the analytics configuration.AmazonServiceExceptionSdkClientExceptionpublic SetBucketAnalyticsConfigurationResult setBucketAnalyticsConfiguration(String bucketName, AnalyticsConfiguration analyticsConfiguration) throws AmazonServiceException, SdkClientException
AmazonS3setBucketAnalyticsConfiguration in interface AmazonS3bucketName - The name of the bucket to set the analytics configuration.analyticsConfiguration - The analytics configuration to set.AmazonServiceExceptionSdkClientExceptionpublic SetBucketAnalyticsConfigurationResult setBucketAnalyticsConfiguration(SetBucketAnalyticsConfigurationRequest setBucketAnalyticsConfigurationRequest) throws AmazonServiceException, SdkClientException
AmazonS3setBucketAnalyticsConfiguration in interface AmazonS3setBucketAnalyticsConfigurationRequest - The request object to set the analytics configuration.AmazonServiceExceptionSdkClientExceptionpublic ListBucketAnalyticsConfigurationsResult listBucketAnalyticsConfigurations(ListBucketAnalyticsConfigurationsRequest listBucketAnalyticsConfigurationsRequest) throws AmazonServiceException, SdkClientException
AmazonS3listBucketAnalyticsConfigurations in interface AmazonS3listBucketAnalyticsConfigurationsRequest - The request object to list all the analytics configurations for a bucket.AmazonServiceExceptionSdkClientExceptionpublic DeleteBucketIntelligentTieringConfigurationResult deleteBucketIntelligentTieringConfiguration(String bucketName, String id) throws AmazonServiceException, SdkClientException
AmazonS3Deletes the S3 Intelligent-Tiering configuration from the specified bucket.
The S3 Intelligent-Tiering storage class is designed to optimize storage costs by automatically moving data to the most cost-effective storage access tier, without additional operational overhead. S3 Intelligent-Tiering delivers automatic cost savings by moving data between access tiers, when access patterns change.
The S3 Intelligent-Tiering storage class is suitable for objects larger than 128 KB that you plan to store for at least 30 days. If the size of an object is less than 128 KB, it is not eligible for auto-tiering. Smaller objects can be stored, but they are always charged at the frequent access tier rates in the S3 Intelligent-Tiering storage class.
If you delete an object before the end of the 30-day minimum storage duration period, you are charged for 30 days. For more information, see Storage class for automatically optimizing frequently and infrequently accessed objects.
Operations related to DeleteBucketIntelligentTieringConfiguration include: 
deleteBucketIntelligentTieringConfiguration in interface AmazonS3bucketName - The name of the Amazon S3 bucket whose configuration you want to modify or retrieve.id - The ID used to identify the S3 Intelligent-Tiering configuration.AmazonServiceExceptionSdkClientExceptionpublic DeleteBucketIntelligentTieringConfigurationResult deleteBucketIntelligentTieringConfiguration(DeleteBucketIntelligentTieringConfigurationRequest deleteBucketIntelligentTieringConfigurationRequest) throws AmazonServiceException, SdkClientException
AmazonS3Deletes the S3 Intelligent-Tiering configuration from the specified bucket.
The S3 Intelligent-Tiering storage class is designed to optimize storage costs by automatically moving data to the most cost-effective storage access tier, without additional operational overhead. S3 Intelligent-Tiering delivers automatic cost savings by moving data between access tiers, when access patterns change.
The S3 Intelligent-Tiering storage class is suitable for objects larger than 128 KB that you plan to store for at least 30 days. If the size of an object is less than 128 KB, it is not eligible for auto-tiering. Smaller objects can be stored, but they are always charged at the frequent access tier rates in the S3 Intelligent-Tiering storage class.
If you delete an object before the end of the 30-day minimum storage duration period, you are charged for 30 days. For more information, see Storage class for automatically optimizing frequently and infrequently accessed objects.
Operations related to DeleteBucketIntelligentTieringConfiguration include: 
deleteBucketIntelligentTieringConfiguration in interface AmazonS3deleteBucketIntelligentTieringConfigurationRequest - The request object used to delete the S3 Intelligent-Tiering configuration.AmazonServiceExceptionSdkClientExceptionpublic GetBucketIntelligentTieringConfigurationResult getBucketIntelligentTieringConfiguration(String bucketName, String id) throws AmazonServiceException, SdkClientException
AmazonS3Gets the S3 Intelligent-Tiering configuration from the specified bucket.
The S3 Intelligent-Tiering storage class is designed to optimize storage costs by automatically moving data to the most cost-effective storage access tier, without additional operational overhead. S3 Intelligent-Tiering delivers automatic cost savings by moving data between access tiers, when access patterns change.
The S3 Intelligent-Tiering storage class is suitable for objects larger than 128 KB that you plan to store for at least 30 days. If the size of an object is less than 128 KB, it is not eligible for auto-tiering. Smaller objects can be stored, but they are always charged at the frequent access tier rates in the S3 Intelligent-Tiering storage class.
If you delete an object before the end of the 30-day minimum storage duration period, you are charged for 30 days. For more information, see Storage class for automatically optimizing frequently and infrequently accessed objects.
Operations related to GetBucketIntelligentTieringConfiguration include: 
getBucketIntelligentTieringConfiguration in interface AmazonS3bucketName - The name of the Amazon S3 bucket whose configuration you want to modify or retrieve.id - The ID used to identify the S3 Intelligent-Tiering configuration.AmazonServiceExceptionSdkClientExceptionpublic GetBucketIntelligentTieringConfigurationResult getBucketIntelligentTieringConfiguration(GetBucketIntelligentTieringConfigurationRequest getBucketIntelligentTieringConfigurationRequest) throws AmazonServiceException, SdkClientException
AmazonS3Gets the S3 Intelligent-Tiering configuration from the specified bucket.
The S3 Intelligent-Tiering storage class is designed to optimize storage costs by automatically moving data to the most cost-effective storage access tier, without additional operational overhead. S3 Intelligent-Tiering delivers automatic cost savings by moving data between access tiers, when access patterns change.
The S3 Intelligent-Tiering storage class is suitable for objects larger than 128 KB that you plan to store for at least 30 days. If the size of an object is less than 128 KB, it is not eligible for auto-tiering. Smaller objects can be stored, but they are always charged at the frequent access tier rates in the S3 Intelligent-Tiering storage class.
If you delete an object before the end of the 30-day minimum storage duration period, you are charged for 30 days. For more information, see Storage class for automatically optimizing frequently and infrequently accessed objects.
Operations related to GetBucketIntelligentTieringConfiguration include: 
getBucketIntelligentTieringConfiguration in interface AmazonS3getBucketIntelligentTieringConfigurationRequest - The request object to retrieve the S3 Intelligent-Tiering configuration.AmazonServiceExceptionSdkClientExceptionpublic SetBucketIntelligentTieringConfigurationResult setBucketIntelligentTieringConfiguration(String bucketName, IntelligentTieringConfiguration intelligentTieringConfiguration) throws AmazonServiceException, SdkClientException
AmazonS3Creates or modifies an S3 Intelligent-Tiering configuration in the specified bucket.
The S3 Intelligent-Tiering storage class is designed to optimize storage costs by automatically moving data to the most cost-effective storage access tier, without additional operational overhead. S3 Intelligent-Tiering delivers automatic cost savings by moving data between access tiers, when access patterns change.
The S3 Intelligent-Tiering storage class is suitable for objects larger than 128 KB that you plan to store for at least 30 days. If the size of an object is less than 128 KB, it is not eligible for auto-tiering. Smaller objects can be stored, but they are always charged at the frequent access tier rates in the S3 Intelligent-Tiering storage class.
If you delete an object before the end of the 30-day minimum storage duration period, you are charged for 30 days. For more information, see Storage class for automatically optimizing frequently and infrequently accessed objects.
Operations related to SetBucketIntelligentTieringConfiguration/PutBucketIntelligentTieringConfiguration include: 
setBucketIntelligentTieringConfiguration in interface AmazonS3bucketName - The name of the Amazon S3 bucket whose configuration you want to modify or retrieve.intelligentTieringConfiguration - Container for S3 Intelligent-Tiering configuration.AmazonServiceExceptionSdkClientExceptionpublic SetBucketIntelligentTieringConfigurationResult setBucketIntelligentTieringConfiguration(SetBucketIntelligentTieringConfigurationRequest setBucketIntelligentTieringConfigurationRequest) throws AmazonServiceException, SdkClientException
AmazonS3Creates or modifies an S3 Intelligent-Tiering configuration in the specified bucket.
The S3 Intelligent-Tiering storage class is designed to optimize storage costs by automatically moving data to the most cost-effective storage access tier, without additional operational overhead. S3 Intelligent-Tiering delivers automatic cost savings by moving data between access tiers, when access patterns change.
The S3 Intelligent-Tiering storage class is suitable for objects larger than 128 KB that you plan to store for at least 30 days. If the size of an object is less than 128 KB, it is not eligible for auto-tiering. Smaller objects can be stored, but they are always charged at the frequent access tier rates in the S3 Intelligent-Tiering storage class.
If you delete an object before the end of the 30-day minimum storage duration period, you are charged for 30 days. For more information, see Storage class for automatically optimizing frequently and infrequently accessed objects.
Operations related to SetBucketIntelligentTieringConfiguration/PutBucketIntelligentTieringConfiguration include: 
setBucketIntelligentTieringConfiguration in interface AmazonS3setBucketIntelligentTieringConfigurationRequest - The request object to set the S3 Intelligent-Tiering configuration.AmazonServiceExceptionSdkClientExceptionpublic ListBucketIntelligentTieringConfigurationsResult listBucketIntelligentTieringConfigurations(ListBucketIntelligentTieringConfigurationsRequest listBucketIntelligentTieringConfigurationsRequest) throws AmazonServiceException, SdkClientException
AmazonS3Lists the S3 Intelligent-Tiering configuration from the specified bucket.
The S3 Intelligent-Tiering storage class is designed to optimize storage costs by automatically moving data to the most cost-effective storage access tier, without additional operational overhead. S3 Intelligent-Tiering delivers automatic cost savings by moving data between access tiers, when access patterns change.
The S3 Intelligent-Tiering storage class is suitable for objects larger than 128 KB that you plan to store for at least 30 days. If the size of an object is less than 128 KB, it is not eligible for auto-tiering. Smaller objects can be stored, but they are always charged at the frequent access tier rates in the S3 Intelligent-Tiering storage class.
If you delete an object before the end of the 30-day minimum storage duration period, you are charged for 30 days. For more information, see Storage class for automatically optimizing frequently and infrequently accessed objects.
Operations related to ListBucketIntelligentTieringConfigurations include: 
listBucketIntelligentTieringConfigurations in interface AmazonS3listBucketIntelligentTieringConfigurationsRequest - The request object to list all the S3 Intelligent-Tiering configurations for a bucket.AmazonServiceExceptionSdkClientExceptionpublic DeleteBucketInventoryConfigurationResult deleteBucketInventoryConfiguration(String bucketName, String id) throws AmazonServiceException, SdkClientException
AmazonS3deleteBucketInventoryConfiguration in interface AmazonS3bucketName - The name of the bucket from which the inventory configuration is to be deleted.id - The ID of the inventory configuration to delete.AmazonServiceExceptionSdkClientExceptionpublic DeleteBucketInventoryConfigurationResult deleteBucketInventoryConfiguration(DeleteBucketInventoryConfigurationRequest deleteBucketInventoryConfigurationRequest) throws AmazonServiceException, SdkClientException
AmazonS3deleteBucketInventoryConfiguration in interface AmazonS3deleteBucketInventoryConfigurationRequest - The request object for deleting an inventory configuration.AmazonServiceExceptionSdkClientExceptionpublic GetBucketInventoryConfigurationResult getBucketInventoryConfiguration(String bucketName, String id) throws AmazonServiceException, SdkClientException
AmazonS3getBucketInventoryConfiguration in interface AmazonS3bucketName - 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.AmazonServiceExceptionSdkClientExceptionpublic GetBucketInventoryConfigurationResult getBucketInventoryConfiguration(GetBucketInventoryConfigurationRequest getBucketInventoryConfigurationRequest) throws AmazonServiceException, SdkClientException
AmazonS3getBucketInventoryConfiguration in interface AmazonS3getBucketInventoryConfigurationRequest - The request object to retreive an inventory configuration.GetBucketInventoryConfigurationResult object containing the inventory configuration.AmazonServiceExceptionSdkClientExceptionpublic SetBucketInventoryConfigurationResult setBucketInventoryConfiguration(String bucketName, InventoryConfiguration inventoryConfiguration) throws AmazonServiceException, SdkClientException
AmazonS3setBucketInventoryConfiguration in interface AmazonS3bucketName - The name of the bucket to set the inventory configuration to.inventoryConfiguration - The inventory configuration to set.AmazonServiceExceptionSdkClientExceptionpublic SetBucketInventoryConfigurationResult setBucketInventoryConfiguration(SetBucketInventoryConfigurationRequest setBucketInventoryConfigurationRequest) throws AmazonServiceException, SdkClientException
AmazonS3setBucketInventoryConfiguration in interface AmazonS3setBucketInventoryConfigurationRequest - The request object for setting an inventory configuration.AmazonServiceExceptionSdkClientExceptionpublic ListBucketInventoryConfigurationsResult listBucketInventoryConfigurations(ListBucketInventoryConfigurationsRequest listBucketInventoryConfigurationsRequest) throws AmazonServiceException, SdkClientException
AmazonS3listBucketInventoryConfigurations in interface AmazonS3listBucketInventoryConfigurationsRequest - The request object to list the inventory configurations in a bucket.ListBucketInventoryConfigurationsResult object containing the list of InventoryConfigurations.AmazonServiceExceptionSdkClientExceptionpublic DeleteBucketEncryptionResult deleteBucketEncryption(String bucketName) throws SdkClientException
AmazonS3deleteBucketEncryption in interface AmazonS3DeleteBucketEncryptionResult.AmazonServiceExceptionSdkClientExceptionpublic DeleteBucketEncryptionResult deleteBucketEncryption(DeleteBucketEncryptionRequest request) throws SdkClientException
AmazonS3deleteBucketEncryption in interface AmazonS3DeleteBucketEncryptionResult.AmazonServiceExceptionSdkClientExceptionpublic GetBucketEncryptionResult getBucketEncryption(String bucketName) throws SdkClientException
AmazonS3getBucketEncryption in interface AmazonS3bucketName - Name of the bucket to retrieve encryption configuration for.GetBucketEncryptionResult.AmazonServiceExceptionSdkClientExceptionpublic GetBucketEncryptionResult getBucketEncryption(GetBucketEncryptionRequest request) throws SdkClientException
AmazonS3getBucketEncryption in interface AmazonS3GetBucketEncryptionResult.AmazonServiceExceptionSdkClientExceptionpublic SetBucketEncryptionResult setBucketEncryption(SetBucketEncryptionRequest request) throws SdkClientException
AmazonS3setBucketEncryption in interface AmazonS3request - The request object for setting the bucket encryption configuration.SetBucketEncryptionResult.AmazonServiceExceptionSdkClientExceptionpublic SetPublicAccessBlockResult setPublicAccessBlock(SetPublicAccessBlockRequest request)
AmazonS3setPublicAccessBlock in interface AmazonS3request - The request object for setting the buckets Public Access Block configuration.SetPublicAccessBlockResult.public GetPublicAccessBlockResult getPublicAccessBlock(GetPublicAccessBlockRequest request)
AmazonS3getPublicAccessBlock in interface AmazonS3request - The request object for getting the buckets Public Access Block configuration.GetPublicAccessBlockResult.public DeletePublicAccessBlockResult deletePublicAccessBlock(DeletePublicAccessBlockRequest request)
AmazonS3deletePublicAccessBlock in interface AmazonS3request - The request object for deleting the buckets Public Access Block configuration.DeletePublicAccessBlockResult.public GetBucketPolicyStatusResult getBucketPolicyStatus(GetBucketPolicyStatusRequest request)
AmazonS3getBucketPolicyStatus in interface AmazonS3request - The request object for getting the current policy status of the bucket.DeletePublicAccessBlockResult.public SelectObjectContentResult selectObjectContent(SelectObjectContentRequest selectRequest) throws AmazonServiceException, SdkClientException
AmazonS3selectObjectContent in interface AmazonS3selectRequest - The request object for selecting object content.SelectObjectContentResult.AmazonServiceExceptionSdkClientExceptionpublic SetObjectLegalHoldResult setObjectLegalHold(SetObjectLegalHoldRequest setObjectLegalHoldRequest)
AmazonS3setObjectLegalHold in interface AmazonS3setObjectLegalHoldRequest - The request object for setting the object legal hold.SetObjectLegalHoldResult.public GetObjectLegalHoldResult getObjectLegalHold(GetObjectLegalHoldRequest getObjectLegalHoldRequest)
AmazonS3getObjectLegalHold in interface AmazonS3getObjectLegalHoldRequest - The request object for getting an object legal hold status.GetObjectLegalHoldResult.public SetObjectLockConfigurationResult setObjectLockConfiguration(SetObjectLockConfigurationRequest setObjectLockConfigurationRequest)
AmazonS3setObjectLockConfiguration in interface AmazonS3setObjectLockConfigurationRequest - The request object for setting the object lock configuration.SetObjectLockConfigurationResult.public GetObjectLockConfigurationResult getObjectLockConfiguration(GetObjectLockConfigurationRequest getObjectLockConfigurationRequest)
AmazonS3getObjectLockConfiguration in interface AmazonS3getObjectLockConfigurationRequest - The request object for getting the object lock configuration.GetObjectLockConfigurationResult.public SetObjectRetentionResult setObjectRetention(SetObjectRetentionRequest setObjectRetentionRequest)
AmazonS3setObjectRetention in interface AmazonS3setObjectRetentionRequest - The request object for setting the object retention.SetObjectRetentionResult.public GetObjectRetentionResult getObjectRetention(GetObjectRetentionRequest getObjectRetentionRequest)
AmazonS3getObjectRetention in interface AmazonS3getObjectRetentionRequest - The request object for getting the object retention.GetObjectRetentionResult.public WriteGetObjectResponseResult writeGetObjectResponse(WriteGetObjectResponseRequest writeGetObjectResponseRequest)
AmazonS3
 Passes transformed objects to a GetObject operation when using Object Lambda Access Points. For
 information about Object Lambda Access Points, see Transforming objects with
 Object Lambda Access Points in the Amazon S3 User Guide.
 
 This operation supports metadata that can be returned by GetObject, in addition to
 RequestRoute, RequestToken, StatusCode, ErrorCode, and
 ErrorMessage. The GetObject response metadata is supported so that the
 WriteGetObjectResponse caller, typically an AWS Lambda function, can provide the same metadata when
 it internally invokes GetObject. When WriteGetObjectResponse is called by a
 customer-owned Lambda function, the metadata returned to the end user GetObject call might differ
 from what Amazon S3 would normally return.
 
writeGetObjectResponse in interface AmazonS3writeGetObjectResponseRequest - The request object for writing the GetObject response.WriteGetObjectResponseResult.public PresignedUrlDownloadResult download(PresignedUrlDownloadRequest presignedUrlDownloadRequest)
AmazonS3Gets the object stored in Amazon S3 using a presigned url.
 The result contains S3Object representing the downloaded object.
 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 reused until the user finishes
 reading the data and closes the stream. Also note that if not all data
 is read from the stream then the SDK will abort the underlying connection,
 this may have a negative impact on performance. Therefore:
 
PresignedUrlDownloadRequest.setRange(long, long) to request only the bytes you need)public void download(PresignedUrlDownloadRequest presignedUrlDownloadRequest, File destinationFile)
AmazonS3Gets the object stored in Amazon S3 using a presigned url.
 The result contains S3Object representing the downloaded object.
 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 reused until the user finishes
 reading the data and closes the stream. Also note that if not all data
 is read from the stream then the SDK will abort the underlying connection,
 this may have a negative impact on performance. Therefore:
 
PresignedUrlDownloadRequest.setRange(long, long) to request only the bytes you need)public PresignedUrlUploadResult upload(PresignedUrlUploadRequest presignedUrlUploadRequest)
AmazonS3Uploads a new object into S3 using the given presigned url.
Depending on whether a file or input stream is being uploaded, this request has slightly different behavior.When uploading a file:
PresignedUrlUploadRequest.setMetadata(ObjectMetadata) or
 AmazonWebServiceRequest.putCustomRequestHeader(String, String)
 When uploading directly from an input stream, content length must be specified before data can be uploaded to Amazon S3. If not provided, the library will have to buffer the contents of the input stream in order to calculate it. Amazon S3 explicitly requires that the content length be sent in the request headers before any of the data is sent.
Amazon S3 is a distributed system. If Amazon S3 receives multiple write requests for the same object nearly simultaneously, all of the objects might be stored. However, only one object will obtain the key.
upload in interface AmazonS3presignedUrlUploadRequest - The request object containing all the parameters to upload a
            new object to Amazon S3.PresignedUrlUploadResult object containing the information
         returned by Amazon S3 for the newly created object.public void shutdown()
AmazonS3public Region getRegion()
AmazonS3public String getRegionName()
AmazonS3getRegionName in interface AmazonS3public URL getUrl(String bucketName, String key)
AmazonS3
 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.
public AmazonS3Waiters waiters()
public DeleteBucketOwnershipControlsResult deleteBucketOwnershipControls(DeleteBucketOwnershipControlsRequest deleteBucketOwnershipControlsRequest) throws AmazonServiceException, SdkClientException
AmazonS3Removes OwnershipControls for an Amazon S3 bucket. To use this operation, you must have the
 s3:PutBucketOwnershipControls permission. For more information about Amazon S3 permissions, see
 Specifying Permissions in a
 Policy.
The following operations are related to DeleteBucketOwnershipControls:
deleteBucketOwnershipControls in interface AmazonS3deleteBucketOwnershipControlsRequest - The request object to delete the ownership control.AmazonServiceExceptionSdkClientExceptionpublic GetBucketOwnershipControlsResult getBucketOwnershipControls(GetBucketOwnershipControlsRequest getBucketOwnershipControlsRequest) throws AmazonServiceException, SdkClientException
AmazonS3Retrieves OwnershipControls for an Amazon S3 bucket. To use this operation, you must have the
 s3:GetBucketOwnershipControls permission. For more information about Amazon S3 permissions, see
 Specifying Permissions in a
 Policy.
The following operations are related to GetBucketOwnershipControls:
getBucketOwnershipControls in interface AmazonS3getBucketOwnershipControlsRequest - The request object to retrieve the ownership controls.AmazonServiceExceptionSdkClientExceptionpublic SetBucketOwnershipControlsResult setBucketOwnershipControls(String bucketName, OwnershipControls ownershipControls) throws AmazonServiceException, SdkClientException
AmazonS3
     Creates or modifies OwnershipControls for an Amazon S3 bucket. To use this operation, you must have the s3:GetBucketOwnershipControls permission. For more information about Amazon S3 permissions, see Specifying Permissions in a Policy.
 
Related Resources
setBucketOwnershipControls in interface AmazonS3bucketName - The name of the bucket to set the ownership controls.ownershipControls - The metrics configuration to set.AmazonServiceExceptionSdkClientExceptionpublic SetBucketOwnershipControlsResult setBucketOwnershipControls(SetBucketOwnershipControlsRequest setBucketOwnershipControlsRequest) throws AmazonServiceException, SdkClientException
AmazonS3
     Creates or modifies OwnershipControls for an Amazon S3 bucket. To use this operation, you must have the s3:GetBucketOwnershipControls permission. For more information about Amazon S3 permissions, see Specifying Permissions in a Policy.
 
Related Resources
setBucketOwnershipControls in interface AmazonS3setBucketOwnershipControlsRequest - The request object to set the ownership controls.AmazonServiceExceptionSdkClientException