public class RequestFactoryImpl extends Object implements RequestFactory
RequestFactoryImpl.PrepareRequest.prepareRequest(AmazonWebServiceRequest) before
being returned to the caller.| Modifier and Type | Class and Description |
|---|---|
static interface |
RequestFactoryImpl.PrepareRequest
This is a callback for anything to "prepare" every request
after creation.
|
static class |
RequestFactoryImpl.RequestFactoryBuilder
Builder.
|
| Modifier and Type | Field and Description |
|---|---|
static org.slf4j.Logger |
LOG |
| Modifier | Constructor and Description |
|---|---|
protected |
RequestFactoryImpl(RequestFactoryImpl.RequestFactoryBuilder builder)
Constructor.
|
| Modifier and Type | Method and Description |
|---|---|
static RequestFactoryImpl.RequestFactoryBuilder |
builder()
Create a builder.
|
protected void |
copyEncryptionParameters(com.amazonaws.services.s3.model.ObjectMetadata srcom,
com.amazonaws.services.s3.model.CopyObjectRequest copyObjectRequest)
Propagate encryption parameters from source file if set else use the
current filesystem encryption settings.
|
Optional<com.amazonaws.services.s3.model.SSEAwsKeyManagementParams> |
generateSSEAwsKeyParams()
Create the AWS SDK structure used to configure SSE,
if the encryption secrets contain the information/settings for this.
|
Optional<com.amazonaws.services.s3.model.SSECustomerKey> |
generateSSECustomerKey()
Create the SSE-C structure for the AWS SDK, if the encryption secrets
contain the information/settings for this.
|
protected String |
getBucket()
Get the target bucket.
|
com.amazonaws.services.s3.model.CannedAccessControlList |
getCannedACL()
Get the canned ACL of this FS.
|
S3AEncryptionMethods |
getServerSideEncryptionAlgorithm()
Get the encryption algorithm of this endpoint.
|
com.amazonaws.services.s3.model.AbortMultipartUploadRequest |
newAbortMultipartUploadRequest(String destKey,
String uploadId)
Abort a multipart upload.
|
com.amazonaws.services.s3.model.DeleteObjectsRequest |
newBulkDeleteRequest(List<com.amazonaws.services.s3.model.DeleteObjectsRequest.KeyVersion> keysToDelete,
boolean quiet)
Bulk delete request.
|
com.amazonaws.services.s3.model.CompleteMultipartUploadRequest |
newCompleteMultipartUploadRequest(String destKey,
String uploadId,
List<com.amazonaws.services.s3.model.PartETag> partETags)
Complete a multipart upload.
|
com.amazonaws.services.s3.model.CopyObjectRequest |
newCopyObjectRequest(String srcKey,
String dstKey,
com.amazonaws.services.s3.model.ObjectMetadata srcom)
Create a copy request.
|
com.amazonaws.services.s3.model.DeleteObjectRequest |
newDeleteObjectRequest(String key)
Create a request to delete a single object.
|
com.amazonaws.services.s3.model.PutObjectRequest |
newDirectoryMarkerRequest(String directory)
Create a
PutObjectRequest request for creating
an empty directory. |
com.amazonaws.services.s3.model.GetObjectMetadataRequest |
newGetObjectMetadataRequest(String key)
Create a HEAD request.
|
com.amazonaws.services.s3.model.GetObjectRequest |
newGetObjectRequest(String key)
Create a GET request.
|
com.amazonaws.services.s3.model.ListMultipartUploadsRequest |
newListMultipartUploadsRequest(String prefix)
List all multipart uploads under a prefix.
|
com.amazonaws.services.s3.model.ListNextBatchOfObjectsRequest |
newListNextBatchOfObjectsRequest(com.amazonaws.services.s3.model.ObjectListing prev)
Create the next V1 page list request, following
on from the previous response.
|
com.amazonaws.services.s3.model.ListObjectsRequest |
newListObjectsV1Request(String key,
String delimiter,
int maxKeys)
Create the (legacy) V1 list request.
|
com.amazonaws.services.s3.model.ListObjectsV2Request |
newListObjectsV2Request(String key,
String delimiter,
int maxKeys)
Create a V2 list request.
|
com.amazonaws.services.s3.model.InitiateMultipartUploadRequest |
newMultipartUploadRequest(String destKey)
Start a multipart upload.
|
com.amazonaws.services.s3.model.ObjectMetadata |
newObjectMetadata(long length)
Create a new object metadata instance.
|
com.amazonaws.services.s3.model.PutObjectRequest |
newPutObjectRequest(String key,
com.amazonaws.services.s3.model.ObjectMetadata metadata,
File srcfile)
Create a putObject request.
|
com.amazonaws.services.s3.model.PutObjectRequest |
newPutObjectRequest(String key,
com.amazonaws.services.s3.model.ObjectMetadata metadata,
InputStream inputStream)
Create a
PutObjectRequest request. |
com.amazonaws.services.s3.model.SelectObjectContentRequest |
newSelectRequest(String key)
Create a S3 Select request for the destination object.
|
com.amazonaws.services.s3.model.UploadPartRequest |
newUploadPartRequest(String destKey,
String uploadId,
int partNumber,
int size,
InputStream uploadStream,
File sourceFile,
long offset)
Create and initialize a part request of a multipart upload.
|
void |
setEncryptionSecrets(EncryptionSecrets secrets)
Set the encryption secrets for all subsequent requests.
|
protected void |
setOptionalGetObjectMetadataParameters(com.amazonaws.services.s3.model.GetObjectMetadataRequest request)
Sets server side encryption parameters to the GET reuquest.
|
protected void |
setOptionalMultipartUploadRequestParameters(com.amazonaws.services.s3.model.InitiateMultipartUploadRequest request)
Set the optional parameters when initiating the request (encryption,
headers, storage, etc).
|
protected void |
setOptionalObjectMetadata(com.amazonaws.services.s3.model.ObjectMetadata metadata)
Set the optional metadata for an object being created or copied.
|
protected void |
setOptionalPutRequestParameters(com.amazonaws.services.s3.model.PutObjectRequest request)
Set the optional parameters for a PUT request.
|
protected void |
setOptionalUploadPartRequestParameters(com.amazonaws.services.s3.model.UploadPartRequest request)
Sets server side encryption parameters to the part upload
request when encryption is enabled.
|
protected RequestFactoryImpl(RequestFactoryImpl.RequestFactoryBuilder builder)
builder - builder with all the configuration.public com.amazonaws.services.s3.model.CannedAccessControlList getCannedACL()
getCannedACL in interface RequestFactoryprotected String getBucket()
public Optional<com.amazonaws.services.s3.model.SSEAwsKeyManagementParams> generateSSEAwsKeyParams()
generateSSEAwsKeyParams in interface RequestFactorypublic Optional<com.amazonaws.services.s3.model.SSECustomerKey> generateSSECustomerKey()
generateSSECustomerKey in interface RequestFactorypublic S3AEncryptionMethods getServerSideEncryptionAlgorithm()
getServerSideEncryptionAlgorithm in interface RequestFactoryprotected void setOptionalUploadPartRequestParameters(com.amazonaws.services.s3.model.UploadPartRequest request)
request - upload part requestprotected void setOptionalGetObjectMetadataParameters(com.amazonaws.services.s3.model.GetObjectMetadataRequest request)
request - upload part requestprotected void setOptionalMultipartUploadRequestParameters(com.amazonaws.services.s3.model.InitiateMultipartUploadRequest request)
request - request to patch.protected void setOptionalPutRequestParameters(com.amazonaws.services.s3.model.PutObjectRequest request)
request - request to patch.protected void setOptionalObjectMetadata(com.amazonaws.services.s3.model.ObjectMetadata metadata)
metadata - to update.public com.amazonaws.services.s3.model.ObjectMetadata newObjectMetadata(long length)
newObjectMetadata in interface RequestFactorylength - length of data to set in header; Ignored if negativepublic com.amazonaws.services.s3.model.CopyObjectRequest newCopyObjectRequest(String srcKey, String dstKey, com.amazonaws.services.s3.model.ObjectMetadata srcom)
RequestFactorynewCopyObjectRequest in interface RequestFactorysrcKey - sourcedstKey - destinationsrcom - source object metadata.protected void copyEncryptionParameters(com.amazonaws.services.s3.model.ObjectMetadata srcom,
com.amazonaws.services.s3.model.CopyObjectRequest copyObjectRequest)
srcom - source object metadata.copyObjectRequest - copy object request body.public com.amazonaws.services.s3.model.PutObjectRequest newPutObjectRequest(String key, com.amazonaws.services.s3.model.ObjectMetadata metadata, File srcfile)
newPutObjectRequest in interface RequestFactorykey - key of objectmetadata - metadata headersrcfile - source filepublic com.amazonaws.services.s3.model.PutObjectRequest newPutObjectRequest(String key, com.amazonaws.services.s3.model.ObjectMetadata metadata, InputStream inputStream)
PutObjectRequest request.
The metadata is assumed to have been configured with the size of the
operation.newPutObjectRequest in interface RequestFactorykey - key of objectmetadata - metadata headerinputStream - source data.public com.amazonaws.services.s3.model.PutObjectRequest newDirectoryMarkerRequest(String directory)
RequestFactoryPutObjectRequest request for creating
an empty directory.newDirectoryMarkerRequest in interface RequestFactorydirectory - destination directory.public com.amazonaws.services.s3.model.ListMultipartUploadsRequest newListMultipartUploadsRequest(String prefix)
RequestFactorynewListMultipartUploadsRequest in interface RequestFactoryprefix - prefix to list underpublic com.amazonaws.services.s3.model.AbortMultipartUploadRequest newAbortMultipartUploadRequest(String destKey, String uploadId)
RequestFactorynewAbortMultipartUploadRequest in interface RequestFactorydestKey - destination object keyuploadId - ID of initiated uploadpublic com.amazonaws.services.s3.model.InitiateMultipartUploadRequest newMultipartUploadRequest(String destKey)
RequestFactorynewMultipartUploadRequest in interface RequestFactorydestKey - destination object keypublic com.amazonaws.services.s3.model.CompleteMultipartUploadRequest newCompleteMultipartUploadRequest(String destKey, String uploadId, List<com.amazonaws.services.s3.model.PartETag> partETags)
RequestFactorynewCompleteMultipartUploadRequest in interface RequestFactorydestKey - destination object keyuploadId - ID of initiated uploadpartETags - ordered list of etagspublic com.amazonaws.services.s3.model.GetObjectMetadataRequest newGetObjectMetadataRequest(String key)
RequestFactorynewGetObjectMetadataRequest in interface RequestFactorykey - key, may have trailing /public com.amazonaws.services.s3.model.GetObjectRequest newGetObjectRequest(String key)
RequestFactorynewGetObjectRequest in interface RequestFactorykey - object keypublic com.amazonaws.services.s3.model.UploadPartRequest newUploadPartRequest(String destKey, String uploadId, int partNumber, int size, InputStream uploadStream, File sourceFile, long offset) throws org.apache.hadoop.fs.PathIOException
RequestFactoryuploadStream or sourceFile
must be specified.
A subset of the file may be posted, by providing the starting point
in offset and a length of block in size equal to
or less than the remaining bytes.newUploadPartRequest in interface RequestFactorydestKey - destination key of ongoing operationuploadId - ID of ongoing uploadpartNumber - current part number of the uploadsize - amount of datauploadStream - source of data to uploadsourceFile - optional source file.offset - offset in file to start reading.org.apache.hadoop.fs.PathIOException - if the part number is out of range.public com.amazonaws.services.s3.model.SelectObjectContentRequest newSelectRequest(String key)
RequestFactorynewSelectRequest in interface RequestFactorykey - object keypublic com.amazonaws.services.s3.model.ListObjectsRequest newListObjectsV1Request(String key, String delimiter, int maxKeys)
RequestFactorynewListObjectsV1Request in interface RequestFactorykey - key to list underdelimiter - delimiter for keysmaxKeys - maximum number in a list page.public com.amazonaws.services.s3.model.ListNextBatchOfObjectsRequest newListNextBatchOfObjectsRequest(com.amazonaws.services.s3.model.ObjectListing prev)
RequestFactorynewListNextBatchOfObjectsRequest in interface RequestFactoryprev - previous responsepublic com.amazonaws.services.s3.model.ListObjectsV2Request newListObjectsV2Request(String key, String delimiter, int maxKeys)
RequestFactorynewListObjectsV2Request in interface RequestFactorykey - key to list underdelimiter - delimiter for keysmaxKeys - maximum number in a list page.public com.amazonaws.services.s3.model.DeleteObjectRequest newDeleteObjectRequest(String key)
RequestFactorynewDeleteObjectRequest in interface RequestFactorykey - object to deletepublic com.amazonaws.services.s3.model.DeleteObjectsRequest newBulkDeleteRequest(List<com.amazonaws.services.s3.model.DeleteObjectsRequest.KeyVersion> keysToDelete, boolean quiet)
RequestFactorynewBulkDeleteRequest in interface RequestFactorykeysToDelete - list of keys to delete.quiet - should a bulk query be quiet, or should its result list
all deleted keys?public void setEncryptionSecrets(EncryptionSecrets secrets)
RequestFactorysetEncryptionSecrets in interface RequestFactorysecrets - encryption secrets.public static RequestFactoryImpl.RequestFactoryBuilder builder()
Copyright © 2008–2022 Apache Software Foundation. All rights reserved.