public static interface UploadDirectoryOverrideConfiguration.Builder extends CopyableBuilder<UploadDirectoryOverrideConfiguration.Builder,UploadDirectoryOverrideConfiguration>
| Modifier and Type | Method and Description |
|---|---|
UploadDirectoryOverrideConfiguration |
build() |
UploadDirectoryOverrideConfiguration.Builder |
followSymbolicLinks(Boolean followSymbolicLinks)
Specify whether to follow symbolic links when traversing the file tree.
|
UploadDirectoryOverrideConfiguration.Builder |
maxDepth(Integer maxDepth)
Specify the maximum number of levels of directories to visit.
|
UploadDirectoryOverrideConfiguration.Builder |
recursive(Boolean recursive)
Specify whether to recursively upload all files under the specified directory
|
UploadDirectoryOverrideConfiguration.Builder |
uploadFileRequestTransformer(Consumer<UploadFileRequest.Builder> uploadFileRequestTransformer)
Specify a function used to transform the
UploadFileRequests generated by this UploadDirectoryRequest. |
copyapplyMutationUploadDirectoryOverrideConfiguration.Builder recursive(Boolean recursive)
Default to true
recursive - whether enable recursive uploadUploadDirectoryOverrideConfiguration.Builder followSymbolicLinks(Boolean followSymbolicLinks)
Default to false
followSymbolicLinks - whether to follow symbolic linksUploadDirectoryOverrideConfiguration.Builder maxDepth(Integer maxDepth)
Default to Integer.MAX_VALUE
maxDepth - the maximum number of directory levels to visitUploadDirectoryOverrideConfiguration.Builder uploadFileRequestTransformer(Consumer<UploadFileRequest.Builder> uploadFileRequestTransformer)
UploadFileRequests generated by this UploadDirectoryRequest.
The provided function is called once for each file that is uploaded, allowing you to modify the paths resolved by
TransferManager on a per-file basis, modify the created PutObjectRequest before it is passed to S3, or
configure a TransferRequestOverrideConfiguration.
The factory receives the UploadFileRequests created by Transfer Manager for each file in the directory
being uploaded, and returns a (potentially modified) UploadFileRequest.
Usage Example:
// Add a LoggingTransferListener to every transfer within the upload directory request
TransferRequestOverrideConfiguration fileUploadConfiguration =
TransferRequestOverrideConfiguration.builder()
.addListener(LoggingTransferListener.create())
.build();
UploadDirectoryOverrideConfiguration directoryUploadConfiguration =
UploadDirectoryOverrideConfiguration.builder()
.uploadFileRequestTransformer(request -> request.overrideConfiguration(fileUploadConfiguration))
.build();
UploadDirectoryRequest request =
UploadDirectoryRequest.builder()
.sourceDirectory(Paths.get("."))
.bucket("bucket")
.prefix("prefix")
.overrideConfiguration(directoryUploadConfiguration)
.build()
UploadDirectoryTransfer uploadDirectory = transferManager.uploadDirectory(request);
// Wait for the transfer to complete
CompletedUploadDirectory completedUploadDirectory = uploadDirectory.completionFuture().join();
// Print out the failed uploads
completedUploadDirectory.failedUploads().forEach(System.out::println);
uploadFileRequestTransformer - A transformer to use for modifying the file-level upload requests before executionUploadDirectoryOverrideConfiguration build()
build in interface Buildablebuild in interface SdkBuilder<UploadDirectoryOverrideConfiguration.Builder,UploadDirectoryOverrideConfiguration>Copyright © 2022. All rights reserved.