public interface S3Client
Any calls resulting in an error will throw S3Exception. All available information from the error will be included in the exception instance. If an exception is not thrown, you may assume the call was successful.
Modifier and Type | Method and Description |
---|---|
void |
abortMultipartUpload(AbortMultipartUploadRequest request) |
long |
appendObject(java.lang.String bucketName,
java.lang.String key,
java.lang.Object content)
Atomically appends to the end of object
key in bucket bucketName with
content and returns the starting offset of the append operation |
boolean |
bucketExists(java.lang.String bucketName)
Returns whether
bucketName exists in the user's namespace (or the configured namespace of the
client). |
CompleteMultipartUploadResult |
completeMultipartUpload(CompleteMultipartUploadRequest request) |
CopyObjectResult |
copyObject(CopyObjectRequest request)
Remotely copies an object using the parameters specified in
request |
CopyObjectResult |
copyObject(java.lang.String sourceBucketName,
java.lang.String sourceKey,
java.lang.String bucketName,
java.lang.String key)
Remotely copies object
sourceKey in bucket sourceBucketName to key in
bucketName |
CopyPartResult |
copyPart(CopyPartRequest request) |
CopyRangeResult |
copyRange(CopyRangeRequest request)
This API is an ECS extension API.
|
void |
createBucket(CreateBucketRequest request)
Creates a bucket using the parameters specified in
request |
void |
createBucket(java.lang.String bucketName)
Creates a bucket with the specified name in the default namespace and with the default replication group
|
void |
deleteBucket(DeleteBucketRequest request)
Deletes
bucketName . |
void |
deleteBucket(java.lang.String bucketName)
Deletes
bucketName . |
void |
deleteBucketCors(java.lang.String bucketName)
Removes the CORS configuration for
bucketName |
void |
deleteBucketLifecycle(java.lang.String bucketName)
Deletes the lifecycle configuration for
bucketName |
void |
deleteBucketPolicy(java.lang.String bucketName)
Deletes the bucket policy for
bucketName |
void |
deleteObject(DeleteObjectRequest request)
Deletes object using the parameters specified in
request |
void |
deleteObject(java.lang.String bucketName,
java.lang.String key)
Deletes object
key from bucket bucketName |
DeleteObjectsResult |
deleteObjects(DeleteObjectsRequest request)
Deletes objects using the parameters specified in
request |
void |
deleteObjectTagging(DeleteObjectTaggingRequest request) |
void |
deleteVersion(java.lang.String bucketName,
java.lang.String key,
java.lang.String versionId)
Delets version
versionId of object key in bucket bucketName . |
void |
destroy()
Always call .destroy() when finished with a client to ensure that any attached resources and background processes
are released/terminated (i.e.
|
void |
enableObjectLock(java.lang.String bucketName)
Enable Object Lock for bucket
bucketName . |
void |
extendRetentionPeriod(java.lang.String bucketName,
java.lang.String key,
java.lang.Long period)
Extend retention
period (seconds) on object key in bucket bucketName . |
AccessControlList |
getBucketAcl(java.lang.String bucketName)
Retrieves the ACL of
bucketName |
CorsConfiguration |
getBucketCors(java.lang.String bucketName)
Retrieves the CORS configuration for
bucketName . |
BucketDeletionStatus |
getBucketDeletionStatus(java.lang.String bucketName)
Gets status of background bucket cleanup tasks for
bucketName if present |
BucketInfo |
getBucketInfo(java.lang.String bucketName)
Gets information about a bucket
|
LifecycleConfiguration |
getBucketLifecycle(java.lang.String bucketName)
Retrieves the lifecycle configuration for
bucketName . |
LocationConstraint |
getBucketLocation(java.lang.String bucketName)
Gets the location of
bucketName . |
BucketPolicy |
getBucketPolicy(java.lang.String bucketName)
Gets the bucket policy for
bucketName |
VersioningConfiguration |
getBucketVersioning(java.lang.String bucketName)
Retrieves the versioning status of
bucketName (none, enabled or suspended) |
<T> GetObjectResult<T> |
getObject(GetObjectRequest request,
java.lang.Class<T> objectType)
Gets an object using the parameters specified in
request . |
GetObjectResult<java.io.InputStream> |
getObject(java.lang.String bucketName,
java.lang.String key)
Gets object
key in bucket bucketName . |
AccessControlList |
getObjectAcl(GetObjectAclRequest request) |
AccessControlList |
getObjectAcl(java.lang.String bucketName,
java.lang.String key) |
ObjectLockLegalHold |
getObjectLegalHold(GetObjectLegalHoldRequest request)
Get Object Legal Hold configuration using parameters in
request . |
ObjectLockConfiguration |
getObjectLockConfiguration(java.lang.String bucketName)
Get the Object Lock configuration for bucket
bucketName . |
S3ObjectMetadata |
getObjectMetadata(GetObjectMetadataRequest request)
Gets metadata using the parameters specified in
request |
S3ObjectMetadata |
getObjectMetadata(java.lang.String bucketName,
java.lang.String key)
Gets metadata for object
key in bucket bucketName |
ObjectLockRetention |
getObjectRetention(GetObjectRetentionRequest request)
Get Object Lock Retention using parameters in
request . |
ObjectTagging |
getObjectTagging(GetObjectTaggingRequest request) |
java.net.URL |
getPresignedUrl(PresignedUrlRequest request)
Generates a pre-signed URL using the parameters specified in
request |
java.net.URL |
getPresignedUrl(java.lang.String bucketName,
java.lang.String key,
java.util.Date expirationTime)
Generates a pre-signed URL to read object
key in bucket bucketName . |
InitiateMultipartUploadResult |
initiateMultipartUpload(InitiateMultipartUploadRequest request) |
java.lang.String |
initiateMultipartUpload(java.lang.String bucketName,
java.lang.String key) |
MetadataSearchList |
listBucketMetadataSearchKeys(java.lang.String bucketName)
Lists the metadata search keys associated with the givne bucket.
|
ListBucketsResult |
listBuckets()
Lists the buckets owned by the user
|
ListBucketsResult |
listBuckets(ListBucketsRequest request)
List the buckets owned by the user using the parameters specified in
request |
ListDataNode |
listDataNodes()
Lists all of the data nodes in the current VDC
|
ListObjectsResult |
listMoreObjects(ListObjectsResult lastResult)
Gets the next page of objects using the results of a previous list-objects call
|
ListVersionsResult |
listMoreVersions(ListVersionsResult lastResult)
Gets the next page of object versions using the results of a previous list-versions call
|
ListMultipartUploadsResult |
listMultipartUploads(ListMultipartUploadsRequest request) |
ListMultipartUploadsResult |
listMultipartUploads(java.lang.String bucketName) |
ListObjectsResult |
listObjects(ListObjectsRequest request)
Lists objects in a bucket using parameters specified in
request |
ListObjectsResult |
listObjects(java.lang.String bucketName)
Lists all objects in
bucketName with no restrictions |
ListObjectsResult |
listObjects(java.lang.String bucketName,
java.lang.String prefix)
Lists objects in
bucketName that start with prefix |
ListPartsResult |
listParts(ListPartsRequest request) |
ListPartsResult |
listParts(java.lang.String bucketName,
java.lang.String key,
java.lang.String uploadId) |
MetadataSearchList |
listSystemMetadataSearchKeys()
Lists the system metadata search keys.
|
ListVersionsResult |
listVersions(ListVersionsRequest request)
Lists all versions of all objects in a bucket using the parameters specified in
request |
ListVersionsResult |
listVersions(java.lang.String bucketName,
java.lang.String prefix)
Lists all versions of all objects in
bucketName that start with prefix |
PingResponse |
pingNode(Protocol protocol,
java.lang.String host,
int port)
Issues an unauthenticated ping request to the given host using the given protocol and port.
|
PingResponse |
pingNode(java.lang.String host)
Issues an unauthenticated ping request to the specified host.
|
PutObjectResult |
putObject(PutObjectRequest request)
Creates or updates an object using the parameters specified in
request |
void |
putObject(java.lang.String bucketName,
java.lang.String key,
java.lang.Object content,
java.lang.String contentType)
Creates or overwrites an object in
bucketName named key containing content
and having contentType |
void |
putObject(java.lang.String bucketName,
java.lang.String key,
Range range,
java.lang.Object content)
Updates object
key in bucket bucketName at the specified byte range with
new content |
void |
putObjectTagging(PutObjectTaggingRequest request) |
QueryObjectsResult |
queryMoreObjects(QueryObjectsResult lastResult)
Gets the next page of objects using the results of a previous query-objects call
|
QueryObjectsResult |
queryObjects(QueryObjectsRequest request)
Queries objects in a bucket using parameters specified in
request |
<T> T |
readObject(java.lang.String bucketName,
java.lang.String key,
java.lang.Class<T> objectType)
Reads object
key in bucket bucketName and converts it to objectType ,
provided the conversion is supported by the implementation. |
<T> T |
readObject(java.lang.String bucketName,
java.lang.String key,
java.lang.String versionId,
java.lang.Class<T> objectType)
Reads version
versionId of object key in bucket bucketName and converts
it to objectType , provided the conversion is supported by the implementation. |
java.io.InputStream |
readObjectStream(java.lang.String bucketName,
java.lang.String key,
Range range)
Reads
range bytes of object key in bucket bucketName as a stream. |
void |
setBucketAcl(SetBucketAclRequest request)
Sets the ACL of a bucket using parameters in
request |
void |
setBucketAcl(java.lang.String bucketName,
AccessControlList acl)
Sets the specified ACL on
bucketName |
void |
setBucketAcl(java.lang.String bucketName,
CannedAcl cannedAcl)
Sets the specified canned ACL on
bucketName |
void |
setBucketCors(java.lang.String bucketName,
CorsConfiguration corsConfiguration)
Sets the CORS configuration for
bucketName |
void |
setBucketLifecycle(java.lang.String bucketName,
LifecycleConfiguration lifecycleConfiguration)
Sets the lifecycle configuration for
bucketName |
void |
setBucketPolicy(java.lang.String bucketName,
BucketPolicy policy)
Sets the bucket policy for
bucketName |
void |
setBucketStaleReadAllowed(java.lang.String bucketName,
boolean staleReadsAllowed)
Sets whether stale reads are allowed on
bucketName . |
void |
setBucketVersioning(java.lang.String bucketName,
VersioningConfiguration versioningConfiguration)
Enables or suspends versioning on
bucketName |
void |
setObjectAcl(SetObjectAclRequest request) |
void |
setObjectAcl(java.lang.String bucketName,
java.lang.String key,
AccessControlList acl) |
void |
setObjectAcl(java.lang.String bucketName,
java.lang.String key,
CannedAcl cannedAcl) |
void |
setObjectLegalHold(SetObjectLegalHoldRequest request)
Set Object Legal Hold configuration using parameters in
request . |
void |
setObjectLockConfiguration(java.lang.String bucketName,
ObjectLockConfiguration objectLockConfiguration)
Set Object Lock Configuration for bucket
bucketName using parameters in objectLockConfiguration . |
void |
setObjectMetadata(java.lang.String bucketName,
java.lang.String key,
S3ObjectMetadata objectMetadata)
Sets metadata on object
key in bucket bucketName |
void |
setObjectRetention(SetObjectRetentionRequest request)
Set Object Lock Retention using parameters in
request . |
void |
shutdown()
Deprecated.
(2.0.3) use destroy() instead
|
MultipartPartETag |
uploadPart(UploadPartRequest request) |
void destroy()
void shutdown()
ListDataNode listDataNodes()
PingResponse pingNode(java.lang.String host)
PingResponse pingNode(Protocol protocol, java.lang.String host, int port)
ListBucketsResult listBuckets()
ListBucketsResult listBuckets(ListBucketsRequest request)
request
boolean bucketExists(java.lang.String bucketName)
bucketName
exists in the user's namespace (or the configured namespace of the
client). This call will return true if the bucket exists even if the user does not have access to the bucket. If
this call returns false, a subsequent call to createBucket with the same name should succeedvoid createBucket(java.lang.String bucketName)
void createBucket(CreateBucketRequest request)
request
CreateBucketRequest
BucketInfo getBucketInfo(java.lang.String bucketName)
void deleteBucket(java.lang.String bucketName)
bucketName
. The bucket must be empty of all objects and versions before it can be deletedvoid deleteBucket(DeleteBucketRequest request)
bucketName
. The bucket could contain objects and versions before it can be deletedBucketDeletionStatus getBucketDeletionStatus(java.lang.String bucketName)
bucketName
if presentvoid setBucketAcl(java.lang.String bucketName, AccessControlList acl)
bucketName
AccessControlList
void setBucketAcl(java.lang.String bucketName, CannedAcl cannedAcl)
bucketName
CannedAcl
void setBucketAcl(SetBucketAclRequest request)
request
SetBucketAclRequest
AccessControlList getBucketAcl(java.lang.String bucketName)
bucketName
AccessControlList
void setBucketCors(java.lang.String bucketName, CorsConfiguration corsConfiguration)
bucketName
CorsConfiguration
CorsConfiguration getBucketCors(java.lang.String bucketName)
bucketName
. If no CORS configuration exists for the specified
bucket, null
is returnedCorsConfiguration
void deleteBucketCors(java.lang.String bucketName)
bucketName
void setBucketLifecycle(java.lang.String bucketName, LifecycleConfiguration lifecycleConfiguration)
bucketName
LifecycleConfiguration
LifecycleConfiguration getBucketLifecycle(java.lang.String bucketName)
bucketName
. If no lifecycle exists for the specified
bucket, null
is returnedLifecycleConfiguration
void deleteBucketLifecycle(java.lang.String bucketName)
bucketName
void setBucketPolicy(java.lang.String bucketName, BucketPolicy policy)
bucketName
BucketPolicy
BucketPolicy getBucketPolicy(java.lang.String bucketName)
bucketName
BucketPolicy
void deleteBucketPolicy(java.lang.String bucketName)
bucketName
BucketPolicy
LocationConstraint getBucketLocation(java.lang.String bucketName)
bucketName
. This call will return the name of the primary VDC of the bucketvoid setBucketVersioning(java.lang.String bucketName, VersioningConfiguration versioningConfiguration)
bucketName
VersioningConfiguration getBucketVersioning(java.lang.String bucketName)
bucketName
(none, enabled or suspended)void setBucketStaleReadAllowed(java.lang.String bucketName, boolean staleReadsAllowed)
bucketName
. If true, during a temporary site outage (TSO),
objects in the bucket may still be read from secondary sites, but these reads are not guaranteed to be strongly
consistent (they may be stale if the primary site is inaccessible). Note that stale reads are not
supported on filesystem
buckets.MetadataSearchList listSystemMetadataSearchKeys()
MetadataSearchList listBucketMetadataSearchKeys(java.lang.String bucketName)
QueryObjectsResult queryObjects(QueryObjectsRequest request)
request
QueryObjectsResult queryMoreObjects(QueryObjectsResult lastResult)
ListObjectsResult listObjects(java.lang.String bucketName)
bucketName
with no restrictionsListObjectsResult listObjects(java.lang.String bucketName, java.lang.String prefix)
bucketName
that start with prefix
ListObjectsResult listObjects(ListObjectsRequest request)
request
ListObjectsResult listMoreObjects(ListObjectsResult lastResult)
ListVersionsResult listVersions(java.lang.String bucketName, java.lang.String prefix)
bucketName
that start with prefix
ListVersionsResult listVersions(ListVersionsRequest request)
request
ListVersionsResult listMoreVersions(ListVersionsResult lastResult)
void putObject(java.lang.String bucketName, java.lang.String key, java.lang.Object content, java.lang.String contentType)
bucketName
named key
containing content
and having contentType
void putObject(java.lang.String bucketName, java.lang.String key, Range range, java.lang.Object content)
key
in bucket bucketName
at the specified byte range
with
new content
PutObjectResult putObject(PutObjectRequest request)
request
long appendObject(java.lang.String bucketName, java.lang.String key, java.lang.Object content)
key
in bucket bucketName
with
content
and returns the starting offset of the append operationCopyObjectResult copyObject(java.lang.String sourceBucketName, java.lang.String sourceKey, java.lang.String bucketName, java.lang.String key)
sourceKey
in bucket sourceBucketName
to key
in
bucketName
CopyObjectResult copyObject(CopyObjectRequest request)
request
<T> T readObject(java.lang.String bucketName, java.lang.String key, java.lang.Class<T> objectType)
key
in bucket bucketName
and converts it to objectType
,
provided the conversion is supported by the implementation.
Note: this method will return null
for 304 and 412 responses (failed preconditions).
<T> T readObject(java.lang.String bucketName, java.lang.String key, java.lang.String versionId, java.lang.Class<T> objectType)
versionId
of object key
in bucket bucketName
and converts
it to objectType
, provided the conversion is supported by the implementation.
Note: this method will return null
for 304 and 412 responses (failed preconditions).
java.io.InputStream readObjectStream(java.lang.String bucketName, java.lang.String key, Range range)
range
bytes of object key
in bucket bucketName
as a stream.
Note: this method will return null
for 304 and 412 responses (failed preconditions).
GetObjectResult<java.io.InputStream> getObject(java.lang.String bucketName, java.lang.String key)
key
in bucket bucketName
. Object details as well as the data stream
(obtained from GetObjectResult.getObject()
are contained in the GetObjectResult
instance.
Note: this method will return null
for 304 and 412 responses (failed preconditions).
This method will open a stream for the object data. Be sure to call getObject()
and,
if requesting an InputStream
, properly close the stream to release the connection.
<T> GetObjectResult<T> getObject(GetObjectRequest request, java.lang.Class<T> objectType)
request
. Object details as well as the translated
data (converted to objectType
) are contained in the GetObjectResult
instance.
Note: this method will return null
for 304 and 412 responses (failed preconditions).
This method will open a stream for the object data. Be sure to call getObject()
and,
if requesting an InputStream
, properly close the stream to release the connection.
java.net.URL getPresignedUrl(java.lang.String bucketName, java.lang.String key, java.util.Date expirationTime)
key
in bucket bucketName
. The URL will be
valid until expirationTime
java.net.URL getPresignedUrl(PresignedUrlRequest request)
request
void deleteObject(java.lang.String bucketName, java.lang.String key)
key
from bucket bucketName
void deleteObject(DeleteObjectRequest request)
request
void deleteVersion(java.lang.String bucketName, java.lang.String key, java.lang.String versionId)
versionId
of object key
in bucket bucketName
.
Note: versioning must be enabled in the bucket.
DeleteObjectsResult deleteObjects(DeleteObjectsRequest request)
request
void setObjectMetadata(java.lang.String bucketName, java.lang.String key, S3ObjectMetadata objectMetadata)
key
in bucket bucketName
S3ObjectMetadata getObjectMetadata(java.lang.String bucketName, java.lang.String key)
key
in bucket bucketName
S3ObjectMetadata getObjectMetadata(GetObjectMetadataRequest request)
request
void setObjectAcl(java.lang.String bucketName, java.lang.String key, AccessControlList acl)
void setObjectAcl(java.lang.String bucketName, java.lang.String key, CannedAcl cannedAcl)
void setObjectAcl(SetObjectAclRequest request)
AccessControlList getObjectAcl(java.lang.String bucketName, java.lang.String key)
AccessControlList getObjectAcl(GetObjectAclRequest request)
void extendRetentionPeriod(java.lang.String bucketName, java.lang.String key, java.lang.Long period)
period
(seconds) on object key
in bucket bucketName
.
Note: New retention period value can only be increased. That is, it can be the same as the current or greater value.
If the new retention period value is -1, infinite retention applies on that object.ListMultipartUploadsResult listMultipartUploads(java.lang.String bucketName)
ListMultipartUploadsResult listMultipartUploads(ListMultipartUploadsRequest request)
java.lang.String initiateMultipartUpload(java.lang.String bucketName, java.lang.String key)
InitiateMultipartUploadResult initiateMultipartUpload(InitiateMultipartUploadRequest request)
ListPartsResult listParts(java.lang.String bucketName, java.lang.String key, java.lang.String uploadId)
ListPartsResult listParts(ListPartsRequest request)
MultipartPartETag uploadPart(UploadPartRequest request)
CopyPartResult copyPart(CopyPartRequest request)
CompleteMultipartUploadResult completeMultipartUpload(CompleteMultipartUploadRequest request)
void abortMultipartUpload(AbortMultipartUploadRequest request)
void setObjectLockConfiguration(java.lang.String bucketName, ObjectLockConfiguration objectLockConfiguration)
bucketName
using parameters in objectLockConfiguration
.ObjectLockConfiguration getObjectLockConfiguration(java.lang.String bucketName)
bucketName
.
If Object Lock Configuration is not set, null
is returned.void enableObjectLock(java.lang.String bucketName)
bucketName
.void setObjectLegalHold(SetObjectLegalHoldRequest request)
request
.ObjectLockLegalHold getObjectLegalHold(GetObjectLegalHoldRequest request)
request
.void setObjectRetention(SetObjectRetentionRequest request)
request
.ObjectLockRetention getObjectRetention(GetObjectRetentionRequest request)
request
.CopyRangeResult copyRange(CopyRangeRequest request)
void putObjectTagging(PutObjectTaggingRequest request)
ObjectTagging getObjectTagging(GetObjectTaggingRequest request)
void deleteObjectTagging(DeleteObjectTaggingRequest request)