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 RequestFactory
protected String getBucket()
public Optional<com.amazonaws.services.s3.model.SSEAwsKeyManagementParams> generateSSEAwsKeyParams()
generateSSEAwsKeyParams
in interface RequestFactory
public Optional<com.amazonaws.services.s3.model.SSECustomerKey> generateSSECustomerKey()
generateSSECustomerKey
in interface RequestFactory
public S3AEncryptionMethods getServerSideEncryptionAlgorithm()
getServerSideEncryptionAlgorithm
in interface RequestFactory
protected 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 RequestFactory
length
- 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)
RequestFactory
newCopyObjectRequest
in interface RequestFactory
srcKey
- 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 RequestFactory
key
- 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 RequestFactory
key
- key of objectmetadata
- metadata headerinputStream
- source data.public com.amazonaws.services.s3.model.PutObjectRequest newDirectoryMarkerRequest(String directory)
RequestFactory
PutObjectRequest
request for creating
an empty directory.newDirectoryMarkerRequest
in interface RequestFactory
directory
- destination directory.public com.amazonaws.services.s3.model.ListMultipartUploadsRequest newListMultipartUploadsRequest(String prefix)
RequestFactory
newListMultipartUploadsRequest
in interface RequestFactory
prefix
- prefix to list underpublic com.amazonaws.services.s3.model.AbortMultipartUploadRequest newAbortMultipartUploadRequest(String destKey, String uploadId)
RequestFactory
newAbortMultipartUploadRequest
in interface RequestFactory
destKey
- destination object keyuploadId
- ID of initiated uploadpublic com.amazonaws.services.s3.model.InitiateMultipartUploadRequest newMultipartUploadRequest(String destKey)
RequestFactory
newMultipartUploadRequest
in interface RequestFactory
destKey
- destination object keypublic com.amazonaws.services.s3.model.CompleteMultipartUploadRequest newCompleteMultipartUploadRequest(String destKey, String uploadId, List<com.amazonaws.services.s3.model.PartETag> partETags)
RequestFactory
newCompleteMultipartUploadRequest
in interface RequestFactory
destKey
- destination object keyuploadId
- ID of initiated uploadpartETags
- ordered list of etagspublic com.amazonaws.services.s3.model.GetObjectMetadataRequest newGetObjectMetadataRequest(String key)
RequestFactory
newGetObjectMetadataRequest
in interface RequestFactory
key
- key, may have trailing /public com.amazonaws.services.s3.model.GetObjectRequest newGetObjectRequest(String key)
RequestFactory
newGetObjectRequest
in interface RequestFactory
key
- 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
RequestFactory
uploadStream
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 RequestFactory
destKey
- 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)
RequestFactory
newSelectRequest
in interface RequestFactory
key
- object keypublic com.amazonaws.services.s3.model.ListObjectsRequest newListObjectsV1Request(String key, String delimiter, int maxKeys)
RequestFactory
newListObjectsV1Request
in interface RequestFactory
key
- 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)
RequestFactory
newListNextBatchOfObjectsRequest
in interface RequestFactory
prev
- previous responsepublic com.amazonaws.services.s3.model.ListObjectsV2Request newListObjectsV2Request(String key, String delimiter, int maxKeys)
RequestFactory
newListObjectsV2Request
in interface RequestFactory
key
- key to list underdelimiter
- delimiter for keysmaxKeys
- maximum number in a list page.public com.amazonaws.services.s3.model.DeleteObjectRequest newDeleteObjectRequest(String key)
RequestFactory
newDeleteObjectRequest
in interface RequestFactory
key
- object to deletepublic com.amazonaws.services.s3.model.DeleteObjectsRequest newBulkDeleteRequest(List<com.amazonaws.services.s3.model.DeleteObjectsRequest.KeyVersion> keysToDelete, boolean quiet)
RequestFactory
newBulkDeleteRequest
in interface RequestFactory
keysToDelete
- 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)
RequestFactory
setEncryptionSecrets
in interface RequestFactory
secrets
- encryption secrets.public static RequestFactoryImpl.RequestFactoryBuilder builder()
Copyright © 2008–2022 Apache Software Foundation. All rights reserved.