DEV Community

S3CloudHub
S3CloudHub

Posted on

Recursion in Python

IMAGE ALT TEXT HERE

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import software.amazon.awssdk.services.s3.model.ObjectIdentifier;
import software.amazon.awssdk.transfer.s3.S3TransferManager;
import software.amazon.awssdk.transfer.s3.model.CompletedDirectoryUpload;
import software.amazon.awssdk.transfer.s3.model.DirectoryUpload;
import software.amazon.awssdk.transfer.s3.model.UploadDirectoryRequest;

import java.net.URL;
import java.nio.file.Paths;
import java.util.UUID;

public Integer uploadDirectory(S3TransferManager transferManager,
                               String sourceDirectory, String bucketName){
    DirectoryUpload directoryUpload =
        transferManager.uploadDirectory(UploadDirectoryRequest.builder()
            .source(Paths.get(sourceDirectory))
            .bucket(bucketName)
            .build());

    CompletedDirectoryUpload completedDirectoryUpload = directoryUpload.completionFuture().join();
    completedDirectoryUpload.failedTransfers().forEach(fail ->
        logger.warn("Object [{}] failed to transfer", fail.toString()));
    return completedDirectoryUpload.failedTransfers().size();
}
Enter fullscreen mode Exit fullscreen mode

Top comments (0)